Gestiona los códigos VBA de libros de Excel habilitados para macros.
Agregar un módulo VBA en Python
El siguiente código de ejemplo crea un nuevo libro de trabajo y agrega un nuevo módulo de VBA y código de macro, y guarda la salida en formato XLSM. Una vez que abras el archivo de salida XLSM en Microsoft Excel y hagas clic en los comandos del menú Desarrollador > Visual Basic, verás un módulo llamado “TestModule” y dentro de él verás el siguiente código de macro.
Sub ShowMessage()
MsgBox "Welcome to Aspose!"
End Sub
Aquí tienes el código de ejemplo para generar el archivo de salida XLSM con módulo de VBA y código de macro.
from aspose.cells import SaveFormat, Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create new workbook | |
workbook = Workbook() | |
# Access first worksheet | |
worksheet = workbook.worksheets[0] | |
# Add VBA Module | |
idx = workbook.vba_project.modules.add(worksheet) | |
# Access the VBA Module, set its name and codes | |
module = workbook.vba_project.modules[idx] | |
module.name = "TestModule" | |
module.codes = "Sub ShowMessage()" + "\r\n" + " MsgBox \"Welcome to Aspose!\"" + "\r\n" + "End Sub" | |
# Save the workbook | |
workbook.save(dataDir + "output_out.xlsm", SaveFormat.XLSM) |
Modificar VBA o Macro en Python
Puedes modificar el código VBA o Macro usando Aspose.Cells para Python via .NET. Aspose.Cells para Python via .NET ha añadido los siguientes espacios de nombres y clases para leer y modificar el proyecto VBA en el archivo de Excel.
- Aspose.Cells.Vba
- VbaProject
- VbaModuleCollection
- VbaModule
Este artículo te mostrará cómo cambiar el código VBA o Macro dentro del archivo Excel original usando Aspose.Cells para Python via .NET.
El siguiente código de ejemplo carga el archivo de Excel fuente que contiene el siguiente código de VBA o macro.
Sub Button1_Click()
MsgBox "This is test message."
End Sub
Después de la ejecución del código ejemplo de Aspose.Cells para Python via .NET, el código VBA o Macro se modificará así
Sub Button1_Click()
MsgBox "This is Aspose.Cells message."
End Sub
Puedes descargar el archivo de Excel fuente y el archivo de Excel de salida desde los enlaces proporcionados.
from aspose.cells import Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create workbook object from source Excel file | |
workbook = Workbook(dataDir + "sample.xlsm") | |
# Change the VBA Module Code | |
for module in workbook.vba_project.modules: | |
code = module.codes | |
# Replace the original message with the modified message | |
code = code.replace("This is test message.", "This is Aspose.Cells message.") | |
module.codes = code | |
# Save the output Excel file | |
workbook.save(dataDir + "output_out.xlsm") |
Temas avanzados
- Agregar una referencia de librería al proyecto de VBA en el libro de trabajo
- Comprobar si la firma digital del código VBA es válida
- Comprobar si el código VBA está firmado
- Comprobar si el proyecto de VBA en un libro de Excel está firmado
- Comprobar si el proyecto de VBA está protegido y bloqueado para ver
- Firmar digitalmente un proyecto de código VBA con certificado
- Exportar certificado de VBA a archivo o flujo de datos
- Filtrar proyecto de VBA al cargar un libro de Excel
- Descubrir si el proyecto de VBA está protegido
- Proteger con contraseña el proyecto de VBA del libro de Excel