Modificación de VBA o código de macro usando Aspose.Cells
Contents
[
Hide
]
Puede modificar VBA o código de macro usando Aspose.Cells. Aspose.Cells ha agregado las siguientes clases para leer y modificar el proyecto de VBA en el archivo de Excel.
- Proyecto Vba
- VbaModuleCollection
- Módulo Vba
Este artículo le mostrará cómo cambiar el código VBA o macro dentro del archivo fuente de Excel usando Aspose.Cells.
Ejemplo
El siguiente código de muestra carga el archivo fuente de Excel que tiene un código VBA o macro siguiente dentro de él.
Sub Button1_Click()
MsgBox "This is test message."
End Sub
Después de la ejecución del código de muestra Aspose.Cells, el código VBA o Macro se modificará de esta manera
Sub Button1_Click()
MsgBox "This is Aspose.Cells message."
End Sub
Puedes descargar elarchivo fuente de Excel y elarchivo de salida de Excel de los enlaces dados.
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"); |