Aggiungi codice nella libreria VBA di Excel utilizzando Python

Questa guida rapida spiega il processo per aggiungere codice nella libreria VBA Excel utilizzando Python. Contiene dettagli per impostare l’IDE per lo sviluppo, un elenco di passaggi che definiscono le attività di programmazione e un codice di esempio che dimostra come libreria macro di Excel utilizzando Python. Imparerai ad accedere alla libreria VBA e ad aggiungere moduli/codici secondo i requisiti.

Passaggi per aggiungere la libreria del codice sorgente VBA di Excel utilizzando Python

  1. Imposta l’IDE per utilizzare Aspose.Cells per Python tramite Java per aggiornare la libreria VBA
  2. Crea un oggetto Workbook, accedi a un foglio e aggiungi un nuovo module
  3. Accedi al modulo appena creato utilizzando l’indice restituito durante la creazione del modulo
  4. Imposta il nome del modulo
  5. Imposta il codice per il modulo
  6. Salvare il file Excel risultante come XLSM

Questi passaggi riepilogano il processo per accedere alla libreria di codici VBA utilizzando Python e aggiungere moduli. Inizia il processo creando o caricando una cartella di lavoro, selezionando un foglio di lavoro e aggiungendo un modulo e un codice al progetto VBA. Infine, imposta nome e codici nel modulo appena creato e salva il file XLSM su disco.

Codice per aggiornare la libreria di codici VBA utilizzando 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!!!")

Questo codice di esempio illustra il processo per aggiungere un modulo con codice nella libreria di codici VBA di Excel utilizzando Python. Questo codice VBA di esempio modifica il colore di sfondo di ciascuna cella in verde quando inserisci un numero pari nella cella. È possibile impostare il tipo di modulo Vba su PROCEDURALE, DOCUMENTO, CLASSE o DESIGNER.

Questo articolo ha trattato il processo di aggiunta di macro a un file Excel. Se desideri rimuovere la protezione da un file Excel, fai riferimento all’articolo su Come rimuovere la protezione di Excel in Python.

 Italiano