In diesem Artikel erfahren Sie, wie Sie Module zur VBA-Bibliothek Excel in Java hinzufügen. Es enthält die Details zum Festlegen der Entwicklungsumgebung, eine Liste von Programmieraufgaben und einen Beispielcode, der das Hinzufügen eines Moduls zur VBA-Codebibliothek in Java demonstriert. Außerdem erfahren Sie, wie Sie verschiedene Moduleigenschaften festlegen, beispielsweise den VBA-Code, der die Entwicklung eines Makros für eine Excel-Datei darstellt.
Schritte zum Ändern der Excel VBA-Codebibliothek in Java
- Stellen Sie die IDE so ein, dass sie Aspose.Cells for Java verwendet, um mit VBA zu arbeiten
- Instanziieren Sie ein Workbook-Objekt, greifen Sie auf ein sheet zu und fügen Sie ein Modul für das ausgewählte Blatt hinzu
- Greifen Sie über die Arbeitsmappe auf das neue Modul zu und legen Sie seinen Namen fest
- Schreiben und testen Sie einen VBA-Code und verwenden Sie ihn als Codeeigenschaft im Modul
- Speichern Sie die ausgegebene Excel-Datei bei Bedarf als XLSM auf der Festplatte oder im Stream
Diese Schritte fassen den Prozess des Vornehmens von Ergänzungen zur Excel VBA-Quellcodebibliothek in Java zusammen. Der Vorgang ist einfach, da ein Arbeitsblatt aus einer Arbeitsmappe erforderlich ist, um ein neues VbaModule hinzuzufügen und dann einige Eigenschaften darin festzulegen. Legen Sie die Eigenschaft Codes mit mehrzeiligem VBA-Code fest, um das Makro betriebsbereit zu machen.
Code zum Hinzufügen von Code in der Excel-Makrobibliothek in 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"); | |
} | |
} |
Dieser Codeausschnitt zeigt, wie man auf die VBA-Codebibliothek in Java zugreift und ein Modul mit darin enthaltenem Code hinzufügt. In diesem Beispielcode haben wir den Namen und den Code festgelegt, der die Farbe der Zellen entsprechend dem im VBA-Code definierten Wertebereich ändert. Sie können ein Modul mit einer anderen überladenen Methode hinzufügen, die den VbaModuleType-Enumeratorwert als Argument verwendet, das CLASS, DESIGNER, DOCUMENT und PROCEDURAL enthält.
In diesem Artikel haben wir gelernt, ein neues Makro in einer Excel-Datei zu erstellen. Informationen zum Anwenden der bedingten Formatierung in Excel finden Sie im Artikel zu Wenden Sie bedingte Formatierung in Excel mit Java an.