Este guia rápido explica o processo para adicionar código na biblioteca VBA Excel usando Python. Ele contém detalhes para definir o IDE para desenvolvimento, uma lista de etapas que definem as tarefas de programação e um código de amostra que demonstra como biblioteca de macros do Excel usando Python. Você aprenderá a acessar a biblioteca VBA e adicionar módulos/códigos conforme os requisitos.
Etapas para adicionar biblioteca de código-fonte Excel VBA usando Python
- Configure o IDE para usar Aspose.Cells para Python via Java para atualizar a biblioteca VBA
- Crie um objeto Workbook, acesse uma planilha e adicione um novo module
- Acesse o módulo recém-criado usando o índice retornado ao criar o módulo
- Defina o nome do módulo
- Definir código para o módulo
- Salve o arquivo Excel resultante como XLSM
Estas etapas resumem o processo para acessar a biblioteca de código VBA usando Python e adicionar módulos. Comece o processo criando ou carregando uma pasta de trabalho, selecionando uma planilha e adicionando um módulo e código ao projeto VBA. Por fim, defina o nome e os códigos no módulo recém-criado e salve o arquivo XLSM no disco.
Código para atualizar a 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 amostra demonstra o processo para adicionar um módulo com código na biblioteca de código VBA do Excel usando Python. Este exemplo de código VBA altera a cor de fundo de cada célula para verde quando você insere um número par na célula. Você pode definir o tipo de módulo Vba como PROCEDURAL, DOCUMENT, CLASS ou DESIGNER.
Este artigo abordou o processo de adição de macro a um arquivo Excel. Se você deseja desproteger um arquivo Excel, consulte o artigo em Como desproteger o Excel em Python.