
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 menggunakan C# API
- Ekstrak VBA Macro dari Excel Workbook
- Tambahkan Makro VBA ke Buku Kerja Excel
- Memodifikasi Makro VBA di Buku Kerja Excel
- Dapatkan Lisensi Gratis
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.
- Buat objek dari kelas Workbook untuk memuat file Excel.
- Akses setiap modul VBA dari koleksi Workbook.VbaProject.Modules ke dalam objek VbaModule.
- Ambil kode dari setiap modul menggunakan properti VbaModule.Codes.
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.
- Buat file Excel baru atau muat yang sudah ada menggunakan kelas Workbook.
- Tambahkan lembar kerja baru atau dapatkan yang sudah ada menggunakan kelas Worksheet.
- Tambahkan modul VBA baru menggunakan metode Workbook.VbaProject.Modules.Add(Worksheet) dan dapatkan ID modul.
- Akses modul VBA dari koleksi Workbook.VbaProject.Modules[idx] ke objek VbaModule.
- Tambahkan nama modul menggunakan properti VbaModule.Name.
- Tambahkan kode ke modul menggunakan properti VbaModule.Codes.
- Simpan buku kerja menggunakan metode Workbook.Save(String, SaveFormat.Xlsm).
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.
- Gunakan kelas Workbook untuk memuat file Excel.
- Akses modul VBA dari koleksi Workbook.VbaProject.Modules ke objek VbaModule.
- Ambil kode dari modul yang diinginkan menggunakan properti VbaModule.Codes.
- Ganti kode dan simpan file Excel menggunakan metode Workbook.Save(String).
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.