Ändern von VBA- oder Makrocode mit Aspose.Cells
Contents
[
Hide
]
Sie können VBA- oder Makrocode mit Aspose.Cells ändern. Aspose.Cells hat die folgenden Klassen hinzugefügt, um das VBA-Projekt in der Excel-Datei zu lesen und zu ändern.
- VbaProjekt
- VbaModuleCollection
- VbaModul
Dieser Artikel zeigt Ihnen, wie Sie den VBA- oder Makrocode in der Excel-Quelldatei mit Aspose.Cells ändern.
Beispiel
Der folgende Beispielcode lädt die Excel-Quelldatei, die den folgenden VBA- oder Makrocode enthält
Sub Button1_Click()
MsgBox "This is test message."
End Sub
Nach der Ausführung des Beispielcodes Aspose.Cells wird der VBA- oder Makrocode wie folgt geändert
Sub Button1_Click()
MsgBox "This is Aspose.Cells message."
End Sub
Sie können die herunterladenExcel-Quelldatei und dieExcel-Datei ausgeben aus den angegebenen Links.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
String dataDir = Utils.getDataDir(ModifyVBAorMacroCode.class); | |
// Create workbook object from source Excel file | |
Workbook workbook = new Workbook(dataDir + "sample.xlsm"); | |
// Change the VBA Module Code | |
VbaModuleCollection modules = workbook.getVbaProject().getModules(); | |
for (int i = 0; i < modules.getCount(); i++) { | |
VbaModule module = modules.get(i); | |
String code = module.getCodes(); | |
// Replace the original message with the modified message | |
if (code.contains("This is test message.")) { | |
code = code.replace("This is test message.", "This is Aspose.Cells message."); | |
module.setCodes(code); | |
} | |
} | |
// Save the output Excel file | |
workbook.save(dataDir + "output.xlsm"); |