Přidejte kód do knihovny Excel VBA pomocí Pythonu

Tento rychlý průvodce vysvětluje proces přidání kódu do Excel knihovny VBA pomocí Pythonu. Obsahuje podrobnosti pro nastavení IDE pro vývoj, seznam kroků definujících programovací úlohy a ukázkový kód demonstrující, jak Excel knihovnu maker pomocí Pythonu. Naučíte se přistupovat ke knihovně VBA a přidávat moduly/kódy podle požadavků.

Kroky k přidání knihovny zdrojového kódu Excel VBA pomocí Pythonu

  1. Nastavte IDE tak, aby používalo Aspose.Cells pro Python přes Javu k aktualizaci knihovny VBA
  2. Vytvořte objekt Workbook, otevřete list a přidejte nový module
  3. Přistupujte k nově vytvořenému modulu pomocí vráceného indexu při vytváření modulu
  4. Nastavte název modulu
  5. Nastavte kód pro modul
  6. Uložte výsledný soubor Excel jako XLSM

Tyto kroky shrnují proces přístupu ke knihovně kódu VBA pomocí Pythonu a přidávání modulů. Začněte proces vytvořením nebo načtením sešitu, výběrem listu a přidáním modulu a kódu do projektu VBA. Nakonec v nově vytvořeném modulu nastavte název a kódy a uložte soubor XLSM na disk.

Kód pro aktualizaci knihovny kódů VBA pomocí Pythonu

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!!!")

Tento ukázkový kód demonstruje proces přidání modulu s kódem do Excel VBA kódové knihovny pomocí Pythonu. Tento ukázkový kód VBA změní barvu pozadí každé buňky na zelenou, když do buňky zadáte sudé číslo. Typ modulu Vba můžete nastavit na PROCEDURAL, DOCUMENT, CLASS nebo DESIGNER.

Tento článek popisuje proces přidávání makra do souboru aplikace Excel. Pokud chcete zrušit ochranu souboru aplikace Excel, přečtěte si článek o Jak odemknout Excel v Pythonu.

 Čeština