Dodaj kod w bibliotece Excel VBA przy użyciu języka Python

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

  1. Ustaw IDE tak, aby używało Aspose.Cells dla Pythona poprzez Javę do aktualizacji biblioteki VBA
  2. Utwórz obiekt Workbook, uzyskaj dostęp do arkusza i dodaj nowy module
  3. Uzyskaj dostęp do nowo utworzonego modułu, korzystając z zwróconego indeksu podczas tworzenia modułu
  4. Ustaw nazwę modułu
  5. Ustaw kod dla modułu
  6. 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.

 Polski