Bekerja dengan Makro VBA di C#

VBA (Visual Basic for Applications) adalah bahasa pemrograman yang digunakan dalam file MS Excel untuk mengotomatisasi operasi terkait spreadsheet. Makro VBA digunakan untuk menulis fungsi yang ditentukan pengguna yang memungkinkan Anda mempercepat tugas yang harus Anda lakukan secara manual. Pada artikel ini, Anda akan mempelajari cara bekerja dengan makro VBA di file MS Excel secara terprogram. Di akhir artikel ini, Anda akan dapat mengekstrak, menambah, dan memodifikasi makro VBA di buku kerja Excel menggunakan C#.

Bekerja dengan Makro VBA di File Excel - C# API

Aspose.Cells for .NET adalah pustaka kelas C# yang dirancang untuk mengotomatiskan manipulasi spreadsheet dari dalam aplikasi .NET. API menyediakan berbagai fitur yang memberdayakan Anda untuk membuat, memodifikasi, dan mengonversi buku kerja MS Excel. Selain itu, API memungkinkan untuk bekerja dengan makro VBA secara mulus. Aspose.Cells for .NET tersedia untuk unduh sebagai file DLL serta dihosting di NuGet.

PM> Install-Package Aspose.Cells

Ekstrak VBA Macro dari File Excel menggunakan C#

Mari kita mulai dengan mengekstrak makro VBA dari buku kerja Excel yang sudah ada. Berikut ini adalah langkah-langkah untuk melakukan operasi ini.

Contoh kode berikut menunjukkan cara mengekstrak makro VBA dari buku kerja Excel menggunakan C#.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Buat objek buku kerja dari file Excel sumber
Workbook workbook = new Workbook("sample.xlsm");

// Ekstrak kode dari setiap modul VBA
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;
    Console.Write(code);
}

Menambahkan Makro VBA ke File Excel menggunakan C#

Aspose.Cells for .NET juga memungkinkan Anda menambahkan makro VBA ke file Excel yang sudah ada atau yang baru. Ini dapat dilakukan dengan mengikuti langkah-langkah di bawah ini.

Contoh kode berikut menunjukkan cara menambahkan makro VBA ke buku kerja Excel menggunakan C#.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Buat buku kerja baru
Workbook workbook = new Workbook();

// Akses lembar kerja pertama
Worksheet worksheet = workbook.Worksheets[0];

// Tambahkan Modul VBA
int idx = workbook.VbaProject.Modules.Add(worksheet);

// Akses Modul VBA, atur nama dan kodenya
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";

// Simpan buku kerja
workbook.Save("output_out.xlsm", SaveFormat.Xlsm);

Memodifikasi Makro VBA di File Excel menggunakan C#

Anda juga dapat mengubah makro VBA yang ada di file Excel menggunakan langkah-langkah berikut.

Contoh kode berikut menunjukkan cara memodifikasi makro VBA di file Excel menggunakan C#.

// Untuk contoh lengkap dan file data, silakan buka https://github.com/aspose-cells/Aspose.Cells-for-.NET
// Buat objek buku kerja dari file Excel sumber
Workbook workbook = new Workbook("sample.xlsm");

// Ubah Kode Modul VBA
foreach (VbaModule module in workbook.VbaProject.Modules)
{
    string code = module.Codes;

    // Ganti pesan asli dengan pesan yang dimodifikasi
    if (code.Contains("This is test message."))
    {
        code = code.Replace("This is test message.", "This is Aspose.Cells message.");
        module.Codes = code;
    }
}

// Simpan file Excel keluaran
workbook.Save("output_out.xlsm");

Dapatkan Lisensi Gratis

Anda dapat menggunakan atau mengevaluasi Aspose.Cells for .NET secara gratis menggunakan lisensi sementara yang berlaku selama 30 hari. Dapatkan milikmu sekarang.

Kesimpulan

Makro VBA dalam file MS Excel digunakan untuk mengotomatiskan berbagai jenis tugas yang terkait dengan spreadsheet. Untuk menangani makro VBA secara terprogram, artikel ini membahas cara mengekstrak, menambahkan, dan mengubah kode dalam modul VBA menggunakan C#. Anda dapat menjelajahi lebih lanjut tentang API manipulasi spreadsheet C# menggunakan dokumentasi.

Lihat juga

Tip: Anda mungkin ingin memeriksa Aspose aplikasi web penghapusan makro GRATIS.