Ten krótki przewodnik wyjaśnia proces dodawania kodu w bibliotece Excel VBA przy użyciu języka Python. Zawiera szczegółowe informacje dotyczące ustawiania IDE do programowania, listę kroków definiujących zadania programistyczne i przykładowy kod demonstrujący, jak bibliotekę makr programu Excel przy użyciu języka Python. Nauczysz się korzystać z biblioteki VBA i dodawać moduły/kody zgodnie z wymaganiami.
Kroki, aby dodać bibliotekę kodu źródłowego Excel VBA przy użyciu języka Python
- Ustaw IDE tak, aby używało Aspose.Cells dla Pythona poprzez Javę do aktualizacji biblioteki VBA
- Utwórz obiekt Workbook, uzyskaj dostęp do arkusza i dodaj nowy module
- Uzyskaj dostęp do nowo utworzonego modułu, korzystając z zwróconego indeksu podczas tworzenia modułu
- Ustaw nazwę modułu
- Ustaw kod dla modułu
- Zapisz wynikowy plik Excel jako XLSM
Poniższe kroki podsumowują proces uzyskiwania dostępu do biblioteki kodów VBA przy użyciu języka Python i dodawania modułów. Rozpocznij proces od utworzenia lub załadowania skoroszytu, wybrania arkusza i dodania modułu i kodu do projektu VBA. Na koniec ustaw nazwę i kody w nowo utworzonym module i zapisz plik XLSM na dysku.
Kod do aktualizacji biblioteki kodów VBA przy użyciu języka 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!!!") |
Ten przykładowy kod demonstruje proces dodawania modułu z kodem z biblioteki kodów Excel VBA przy użyciu języka Python. Ten przykładowy kod VBA zmienia kolor tła każdej komórki na zielony po wprowadzeniu w komórce liczby parzystej. Możesz ustawić typ modułu Vba na PROCEDURALNY, DOKUMENT, KLASA lub DESIGNER.
W tym artykule omówiono proces dodawania makra do pliku Excel. Jeśli chcesz wyłączyć ochronę pliku Excel, zapoznaj się z artykułem na temat Jak odblokować program Excel w Pythonie.