تبدیل کد Interior.Color در VBA به VB.NET

مقدمه

در محیط برنامه‌نویسی VBA، برای تغییر رنگ پس‌زمینه یک سلول در اکسل از Interior.Color استفاده می‌شود. اما در VB.NET که از کتابخانه‌های متفاوتی استفاده می‌کند، این روش متفاوت است. در این مقاله از رادیب، روش معادل در VB.NET را بررسی می‌کنیم.


۱. روش استفاده از Interior.Color در VBA

در VBA، برای تغییر رنگ یک سلول در اکسل از کد زیر استفاده می‌شود:

خرید سرور مجازی با قیمت اقتصادی از رادیب، کلیک کنید

Sub ChangeColorVBA()
    Range("A1").Interior.Color = RGB(255, 0, 0) ' تغییر رنگ پس‌زمینه به قرمز
End Sub
Vba

۲. معادل آن در VB.NET

در VB.NET، برای تغییر رنگ سلول‌های اکسل باید از کتابخانه Microsoft.Office.Interop.Excel استفاده کرد. معادل کد بالا در VB.NET به این شکل خواهد بود:

Imports Microsoft.Office.Interop.Excel

Module Module1
    Sub Main()
        Dim xlApp As New Application()
        Dim xlWorkbook As Workbook = xlApp.Workbooks.Open("C:\example.xlsx")
        Dim xlWorksheet As Worksheet = xlWorkbook.Sheets(1)

        xlWorksheet.Range("A1").Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red)

        xlWorkbook.Save()
        xlWorkbook.Close()
        xlApp.Quit()
    End Sub
End Module
VB.Net

۳. توضیحات کد VB.NET

  • ابتدا یک شیء از اکسل ایجاد می‌کنیم:
    Dim xlApp As New Application()
    
    VB.Net
  • سپس فایل اکسل مورد نظر را باز می‌کنیم:
    Dim xlWorkbook As Workbook = xlApp.Workbooks.Open("C:\example.xlsx")
    
    VB.Net
  • برای انتخاب شیت مورد نظر از Sheets(1) استفاده می‌کنیم.
    Dim xlWorksheet As Worksheet = xlWorkbook.Sheets(1)
    
    VB.Net
  • سپس رنگ سلول A1 را تغییر می‌دهیم. اما در VB.NET برای تعیین رنگ باید از System.Drawing.ColorTranslator.ToOle() استفاده کنیم:
    xlWorksheet.Range("A1").Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red)
    
    VB.Net
  • در نهایت فایل اکسل را ذخیره کرده و اکسل را می‌بندیم.

۴. نتیجه‌گیری

در حالی که VBA از Interior.Color = RGB(255, 0, 0) استفاده می‌کند، در VB.NET باید از System.Drawing.ColorTranslator.ToOle() برای تبدیل رنگ استفاده کنیم. همچنین در VB.NET نیاز به مدیریت شیء اکسل به‌صورت دستی داریم.

 

آیا این پاسخ به شما کمک کرد؟ 45 کاربر این را مفید یافتند (45 نظرات)