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
- Nastavte IDE tak, aby používalo Aspose.Cells pro Python přes Javu k aktualizaci knihovny VBA
- Vytvořte objekt Workbook, otevřete list a přidejte nový module
- Přistupujte k nově vytvořenému modulu pomocí vráceného indexu při vytváření modulu
- Nastavte název modulu
- Nastavte kód pro modul
- 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.