Adicionar código na biblioteca Excel VBA usando Python

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

  1. Configure o IDE para usar Aspose.Cells para Python via Java para atualizar a biblioteca VBA
  2. Crie um objeto Workbook, acesse uma planilha e adicione um novo module
  3. Acesse o módulo recém-criado usando o índice retornado ao criar o módulo
  4. Defina o nome do módulo
  5. Definir código para o módulo
  6. 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.

 Português