C#'ta VBA Macro ile çalışın

VBA (Visual Basic for Applications), elektronik tablolarla ilgili işlemleri otomatikleştirmek için MS Excel dosyalarında kullanılan bir programlama dilidir. VBA makroları, manuel olarak gerçekleştirmeniz gereken görevleri hızlandırmanıza izin veren kullanıcı tanımlı işlevleri yazmak için kullanılır. Bu yazıda, MS Excel dosyalarındaki VBA makroları ile programlı olarak nasıl çalışılacağını öğreneceksiniz. Bu makalenin sonunda, C# kullanarak Excel çalışma kitaplarında VBA makrolarını ayıklayabilecek, ekleyebilecek ve değiştirebileceksiniz.

Excel Dosyalarında VBA Makrolarıyla Çalışma - C# API

Aspose.Cells for .NET, .NET uygulamalarının içinden elektronik tablo işlemeyi otomatikleştirmek için tasarlanmış bir C# sınıf kitaplığıdır. API, MS Excel çalışma kitaplarını oluşturmanıza, değiştirmenize ve dönüştürmenize olanak tanıyan çok çeşitli özellikler sağlar. Ayrıca API, VBA makrolarıyla sorunsuz bir şekilde çalışmayı mümkün kılar. Aspose.Cells for .NET, bir DLL dosyası olarak indirilebilir ve NuGet üzerinde barındırılabilir.

PM> Install-Package Aspose.Cells

C# kullanarak bir Excel Dosyasından VBA Makrolarını Çıkarın

Mevcut bir Excel çalışma kitabından VBA makrolarını ayıklayarak başlayalım. Aşağıda bu işlemi gerçekleştirmek için adımlar verilmiştir.

Aşağıdaki kod örneği, C# kullanarak bir Excel çalışma kitabından VBA makrosunun nasıl ayıklanacağını gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-cells/Aspose.Cells-for-.NET adresine gidin.
// Kaynak Excel dosyasından çalışma kitabı nesnesi oluşturun
Workbook workbook = new Workbook("sample.xlsm");

// Her VBA modülünden kod ayıklayın
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;
    Console.Write(code);
}

C# kullanarak bir Excel Dosyasına VBA Makroları Ekleme

Aspose.Cells for .NET ayrıca mevcut veya yeni Excel dosyalarına VBA makroları eklemenizi sağlar. Bu, aşağıdaki adımları izleyerek yapılabilir.

Aşağıdaki kod örneği, C# kullanarak Excel çalışma kitabına bir VBA makrosunun nasıl ekleneceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-cells/Aspose.Cells-for-.NET adresine gidin.
// Yeni çalışma kitabı oluştur
Workbook workbook = new Workbook();

// İlk çalışma sayfasına erişin
Worksheet worksheet = workbook.Worksheets[0];

// VBA Modülü Ekle
int idx = workbook.VbaProject.Modules.Add(worksheet);

// VBA Modülüne erişin, adını ve kodlarını ayarlayın
Aspose.Cells.Vba.VbaModule module = workbook.VbaProject.Modules[idx];
module.Name = "TestModule";

module.Codes = "Sub ShowMessage()" + "\r\n" +
"    MsgBox \"Welcome to Aspose!\"" + "\r\n" +
"End Sub";

// çalışma kitabını kaydet
workbook.Save("output_out.xlsm", SaveFormat.Xlsm);

C# kullanarak bir Excel Dosyasında VBA Makrosunu Değiştirme

Aşağıdaki adımları kullanarak bir Excel dosyasındaki mevcut VBA makrolarını da değiştirebilirsiniz.

Aşağıdaki kod örneği, C# kullanarak bir Excel dosyasındaki VBA makrosunun nasıl değiştirileceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-cells/Aspose.Cells-for-.NET adresine gidin.
// Kaynak Excel dosyasından çalışma kitabı nesnesi oluşturun
Workbook workbook = new Workbook("sample.xlsm");

// VBA Modül Kodunu Değiştirin
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;

    // Orijinal mesajı değiştirilen mesajla değiştirin
    if (code.Contains("This is test message."))
    {
        code = code.Replace("This is test message.", "This is Aspose.Cells message.");
        module.Codes = code;
    }
}

// Çıktı Excel dosyasını kaydedin
workbook.Save("output_out.xlsm");

Ücretsiz Lisans Alın

Aspose.Cells for .NET’i 30 gün geçerli geçici bir lisans kullanarak ücretsiz olarak kullanabilir veya değerlendirebilirsiniz. Şimdi sizinkini alın.

Çözüm

MS Excel dosyalarındaki VBA makroları, elektronik tablolarla ilgili çeşitli görev türlerini otomatikleştirmek için kullanılır. Bu makale, VBA makrolarını programlı olarak işlemek için C# kullanarak VBA modüllerinde kodun nasıl çıkarılacağını, ekleneceğini ve değiştirileceğini ele aldı. Belgeleri kullanarak C# elektronik tablo işleme API’si hakkında daha fazla şey keşfedebilirsiniz.

Ayrıca bakınız

İpucu: Aspose’a ÜCRETSİZ makro kaldırma web uygulaması göz atmak isteyebilirsiniz.