Dodaj moduł w bibliotece Excel VBA w Javie

W tym artykule opisano, jak dodać moduł w bibliotece Excel VBA w Javie. Zawiera szczegółowe informacje dotyczące ustawiania środowiska programistycznego, listę zadań programistycznych i przykładowy kod demonstrujący dodanie modułu w bibliotece kodów VBA w Javie. Dowiesz się także, jak ustawić różne właściwości modułu, takie jak kod VBA przedstawiający rozwój makra dla pliku Excel.

Kroki modyfikacji biblioteki kodów Excel VBA w Javie

  1. Ustaw IDE tak, aby używało Aspose.Cells for Java do pracy z VBA
  2. Utwórz instancję obiektu Workbook, uzyskaj dostęp do sheet i dodaj moduł dla wybranego arkusza
  3. Uzyskaj dostęp do nowego modułu ze skoroszytu i ustaw jego nazwę
  4. Napisz i przetestuj kod VBA i użyj go jako właściwościcodes w module
  5. W razie potrzeby zapisz wyjściowy plik Excel w formacie XLSM na dysku lub w strumieniu

Poniższe kroki podsumowują proces tworzenia dodatków do biblioteki kodu źródłowego Excel VBA w języku Java. Proces jest prosty, ponieważ wymaga arkusza ze skoroszytu, aby dodać nowy moduł VbaModule, a następnie ustawić w nim kilka właściwości. Ustaw właściwość Kody z wielowierszowym kodem VBA, aby makro działało.

Kod do dodania kodu w bibliotece makr programu Excel w Javie

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");
}
}

Ten fragment kodu pokazuje, jak uzyskać dostęp do biblioteki kodów VBA w Javie i dodać moduł z zawartym w nim kodem. W tym przykładowym kodzie ustawiliśmy nazwę i kod zmieniający kolor komórek zgodnie z zakresem wartości zdefiniowanym w kodzie VBA. Moduł można dodać przy użyciu innej przeciążonej metody, która przyjmuje wartość modułu wyliczającego VbaModuleType jako argument zawierający CLASS, DESIGNER, DOCUMENT i PROCEDURAL.

W tym artykule nauczyliśmy się tworzyć nowe makro w pliku Excel. Aby zastosować formatowanie warunkowe w programie Excel, zapoznaj się z artykułem na temat Zastosuj formatowanie warunkowe w programie Excel przy użyciu języka Java.

 Polski