Artikel ini memandu cara menambahkan modul di perpustakaan VBA Excel di Java. Ini memiliki detail untuk mengatur lingkungan pengembangan, daftar tugas pemrograman, dan kode contoh yang menunjukkan penambahan modul di pustaka kode VBA di Java. Anda juga akan belajar mengatur berbagai properti modul, seperti kode VBA yang menunjukkan pengembangan makro untuk file Excel.
Langkah-langkah Memodifikasi Pustaka Kode VBA Excel di Java
- Atur IDE agar menggunakan Aspose.Cells for Java agar berfungsi dengan VBA
- Buat instance objek Workbook, akses sheet, dan tambahkan modul untuk sheet yang dipilih
- Akses modul baru dari buku kerja dan atur namanya
- Tulis dan uji kode VBA dan gunakan sebagai properti kode dalam modul
- Simpan file Excel keluaran sebagai XLSM pada disk atau streaming jika diperlukan
Langkah-langkah ini merangkum proses penambahan perpustakaan kode sumber Excel VBA di Java. Prosesnya sederhana karena memerlukan lembar kerja dari buku kerja untuk menambahkan VbaModule baru dan kemudian mengatur beberapa properti di dalamnya. Atur properti Kode dengan kode VBA multi-baris untuk membuat makro operasional.
Kode untuk Menambahkan Kode di Perpustakaan Makro Excel di Java
import com.aspose.cells.*; | |
public class Main | |
{ | |
public static void main(String[] args) throws Exception // Add VBA Code in Java | |
{ | |
// Set the licenses | |
new License().setLicense("License.lic"); | |
// Create a workbook | |
Workbook wb = new Workbook(); | |
// Select a sheet | |
Worksheet ws = wb.getWorksheets().get(0); | |
// Add VBA Module and get its reference | |
int idx = wb.getVbaProject().getModules().add(ws); | |
VbaModule module = wb.getVbaProject().getModules().get(idx); | |
// Assign a name to the module | |
module.setName("SetGreenEven"); | |
// Set code for the module | |
module.setCodes(""" | |
Private Sub Worksheet_Change(ByVal Target As Range) | |
' Verify if updated cell is within a specified range | |
If Not Intersect(Target, Range("A1:Z100")) Is Nothing Then | |
' Loop through all cells | |
For Each Cell In Target | |
' Check the cell value and apply formatting accordingly | |
If Cell.Value >= 80 Then | |
Cell.Interior.Color = RGB(0, 255, 0) ' Green | |
ElseIf Cell.Value >= 50 And Cell.Value < 80 Then | |
Cell.Interior.Color = RGB(255, 165, 0) ' Orange | |
ElseIf Cell.Value < 50 Then | |
Cell.Interior.Color = RGB(152, 133, 88) ' Dark Tan | |
Else | |
' Reset the background color if none of the conditions are met | |
Cell.Interior.ColorIndex = xlNone | |
End If | |
Next Cell | |
End If | |
End Sub | |
"""); | |
// Save the output | |
wb.save("sampleWithMacro.xlsm", SaveFormat.XLSM); | |
System.out.println("Done"); | |
} | |
} |
Cuplikan kode ini menunjukkan cara mengakses pustaka kode VBA di Java dan menambahkan modul dengan kode di dalamnya. Dalam contoh kode ini, kami telah menetapkan nama dan kode yang mengubah warna sel sesuai dengan rentang nilai yang ditentukan dalam kode VBA. Anda dapat menambahkan modul menggunakan metode kelebihan beban lainnya yang menggunakan nilai enumerator VbaModuleType sebagai argumen yang mencakup CLASS, DESIGNER, DOCUMENT, dan PROCEDURAL.
Artikel ini mengajarkan kita cara membuat makro baru di file Excel. Untuk menerapkan pemformatan bersyarat di Excel, lihat artikel di Terapkan pemformatan bersyarat di Excel menggunakan Java.