VBA ist eine Programmiersprache, die verwendet wird, um verschiedene Vorgänge in MS Excel Dateien zu automatisieren. Insbesondere VBA Makros sind benutzerdefinierte Codes, mit denen Sie die Bearbeitung von Tabellenkalkulationen beschleunigen können. In diesem Artikel erfahren Sie, wie Sie programmatisch mit VBA Makros in Excel Dateien arbeiten. Letztendlich können Sie VBA Makros in Excel mit Java hinzufügen und ändern.
- Arbeiten Sie mit VBA Makros über die Java API
- Hinzufügen von VBA Makros zu einer Excel Arbeitsmappe
- VBA Makro in einer Excel Arbeitsmappe ändern
Arbeiten Sie mit Excel-VBA Makros mithilfe der Java API
Um mit VBA Makros in Excel Dateien zu arbeiten, verwenden wir Aspose.Cells for Java. Es ist eine leistungsstarke API zur Automatisierung von Tabellenkalkulationen, mit der Sie Excel Dateien erstellen, ändern und konvertieren können. Außerdem vereinfacht es die Manipulation von VBA Makros. Sie können die API entweder herunterladen oder sie mit den folgenden Maven konfigurationen installieren.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>21.5</version>
</dependency>
Hinzufügen von VBA Makros zu einer Excel Arbeitsmappe in Java
Im Folgenden sind die Schritte zum Hinzufügen von VBA Makros in Excel Dateien in Java aufgeführt.
- Laden Sie zuerst eine vorhandene Arbeitsmappe oder erstellen Sie eine neue mit der Klasse Workbook.
- Holen Sie das Arbeitsblatt mit der methode Workbook.getWorksheets().get(index) in ein Worksheet objekt.
- Fügen Sie ein neues VBA-Modul mit der methode Workbook.getVbaProject().getModules().add(Worksheet) hinzu.
- Holen Sie sich die Referenz des neu hinzugefügten Moduls in das VbaModule objekt.
- Legen Sie den Namen und den Code des Moduls mit den Methoden VbaModule.setName() bzw. VbaModule.setCodes() fest.
- Speichern Sie abschließend die Arbeitsmappe mit der methode Workbook.save(string, SaveFormat.XLSM).
Das folgende Codebeispiel zeigt, wie Sie mithilfe von Java ein VBA Makro in eine Excel Datei einfügen.
// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-cells/Aspose.Cells-for-Java
// Excel Arbeitsmappe laden
Workbook workbook = new Workbook("workbook.xlsm");
// Greifen Sie auf das erste Arbeitsblatt zu
Worksheet worksheet = workbook.getWorksheets().get(0);
// VBA-Modul hinzufügen
int idx = workbook.getVbaProject().getModules().add(worksheet);
// Greifen Sie auf das VBA-Modul zu, legen Sie seinen Namen und seine Codes fest
VbaModule module = workbook.getVbaProject().getModules().get(idx);
module.setName("TestModule");
module.setCodes("Sub ShowMessage()" + "\r\n" + " MsgBox \"Welcome to Aspose!\"" + "\r\n" + "End Sub");
// Speichern Sie die Arbeitsmappe
workbook.save("output.xlsm", SaveFormat.XLSM);
Ändern Sie das VBA Makro in einer Excel Arbeitsmappe in Java
Im Folgenden sind die Schritte zum Ändern von VBA Makros in Excel Dateien mit Java aufgeführt.
- Laden Sie zuerst eine vorhandene Arbeitsmappe mit der Klasse Workbook.
- Rufen Sie die VBA-Modulsammlung in einem VbaModuleCollection objekt mit der methode Workbook.getVbaProject().getModules() ab.
- Rufen Sie jedes VBA-Modul iterativ aus der Sammlung in ein VbaModule objekt ab.
- Aktualisieren Sie Namen und Code des gewünschten Moduls mit den Methoden VbaModule.setName() bzw. VbaModule.setCodes().
- Speichern Sie abschließend die Arbeitsmappe mit der methode Workbook.save(string, SaveFormat.XLSM).
Das folgende Codebeispiel zeigt, wie Sie das VBA Makro in einer Excel Datei mit Java ändern.
// Vollständige Beispiele und Datendateien finden Sie unter https://github.com/aspose-cells/Aspose.Cells-for-Java
// Erstellen Sie ein Arbeitsmappenobjekt aus einer Excel quelldatei
Workbook workbook = new Workbook("sample.xlsm");
// Ändern Sie den VBA-Modulcode
VbaModuleCollection modules = workbook.getVbaProject().getModules();
for (int i = 0; i < modules.getCount(); i++) {
VbaModule module = modules.get(i);
String code = module.getCodes();
// Ersetzen Sie die ursprüngliche Nachricht durch die geänderte Nachricht
if (code.contains("This is test message.")) {
code = code.replace("This is test message.", "This is Aspose.Cells message.");
module.setCodes(code);
}
}
// Speichern Sie die ausgegebene Excel Datei
workbook.save("output.xlsm");
Holen Sie sich eine kostenlose Lizenz
Sie können Aspose.Cells for Java ohne Evaluierungseinschränkungen mit einer temporären Lizenz verwenden. Holen Sie sich jetzt.
Fazit
VBA Makros werden verwendet, um verschiedene Arten von Aufgaben in Tabellenkalkulationen zu automatisieren. Um programmgesteuert mit VBA Makros zu arbeiten, behandelte dieser Artikel das Hinzufügen und Ändern von Code in VBA-Modulen mit Java. Um mehr zu erfahren, können Sie die Dokumentation der Java-Spreadsheet-Manipulation-API durchsuchen. Außerdem können Sie Ihre Fragen oder Fragen in unserem Forum posten.
Siehe auch
Tipp: Vielleicht möchten Sie Aspose Online-Tool zum Entfernen von VBA Makros ausprobieren.