Agregar código en la biblioteca VBA de Excel usando Python

Esta guía rápida explica el proceso para agregar código en la biblioteca Excel VBA usando Python. Tiene detalles para configurar el IDE para el desarrollo, una lista de pasos que definen las tareas de programación y un código de muestra que demuestra cómo Biblioteca de macros de Excel usando Python. Aprenderá a acceder a la biblioteca VBA y agregar módulos/códigos según los requisitos.

Pasos para agregar la biblioteca de código fuente VBA de Excel usando Python

  1. Configure el IDE para usar Aspose.Cells para Python a través de Java para actualizar la biblioteca VBA
  2. Cree un objeto Workbook, acceda a una hoja y agregue un nuevo module
  3. Acceda al módulo recién creado utilizando el índice devuelto mientras crea el módulo
  4. Establecer el nombre del módulo
  5. Establecer código para el módulo
  6. Guarde el archivo Excel resultante como XLSM

Estos pasos resumen el proceso para acceder a la biblioteca de códigos VBA usando Python y agregar módulos. Comience el proceso creando o cargando un libro de trabajo, seleccionando una hoja de trabajo y agregando un módulo y código al proyecto VBA. Finalmente, configure el nombre y los códigos en el módulo recién creado y guarde el archivo XLSM en el disco.

Código para actualizar la biblioteca de códigos VBA usando Python

import jpype
import asposecells as cells
jpype.startJVM()
from asposecells.api import License, Workbook, SaveFormat
# Instantiate a license
license = License()
license.setLicense("License.lic")
# Create a workbook
wb = Workbook()
# Select a sheet
ws = wb.getWorksheets().get(0)
# Add VBA Module and get its reference
idx = wb.getVbaProject().getModules().add(ws)
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)
Dim ws As Worksheet
Dim cell As Range
' Set the active sheet
Set ws = ActiveSheet
' Check if the changed cells have even numeric values
For Each cell In Target
If IsNumeric(cell.Value) And cell.Value Mod 2 = 0 Then
' Set the background color to green
cell.Interior.Color = RGB(0, 255, 0) ' RGB for green
Else
' If the value is not even, reset the background color to default (optional)
cell.Interior.ColorIndex = xlNone
End If
Next cell
End Sub
""")
# Save the output
wb.save("sampleWithMacro.xlsm", SaveFormat.XLSM)
print("VBA Module with code added successfully!!!")

Este código de muestra demuestra el proceso para agregar un módulo con código en la biblioteca de códigos Excel VBA usando Python. Este código VBA de muestra cambia el color de fondo de cada celda a verde cuando ingresa un número par en la celda. Puede configurar el tipo de módulo Vba en PROCEDIMIENTO, DOCUMENTO, CLASE o DISEÑADOR.

Este artículo cubrió el proceso de agregar una macro a un archivo de Excel. Si desea desproteger un archivo de Excel, consulte el artículo sobre Cómo desproteger Excel en Python.

 Español