Добавете код в Excel VBA библиотека с помощта на Python

Това кратко ръководство обяснява процеса за добавяне на код в Excel VBA библиотека с помощта на Python. Има подробности за настройване на IDE за разработка, списък със стъпки, дефиниращи задачите за програмиране, и примерен код, демонстриращ как да библиотека с макроси на Excel с помощта на Python. Ще се научите да осъществявате достъп до библиотеката на VBA и да добавяте модули/кодове според изискванията.

Стъпки за добавяне на библиотека с изходен код на Excel VBA с помощта на Python

  1. Настройте IDE да използва Aspose.Cells за Python чрез Java за актуализиране на VBA библиотеката
  2. Създайте обект Workbook, отворете лист и добавете нов module
  3. Осъществете достъп до новосъздадения модул, като използвате върнатия индекс, докато създавате модула
  4. Задайте името на модула
  5. Задайте код за модула
  6. Запазете получения Excel файл като XLSM

Тези стъпки обобщават процеса за достъп до VBA кодова библиотека с помощта на Python и добавяне на модули. Започнете процеса, като създадете или заредите работна книга, изберете работен лист и добавите модул и код към VBA проекта. Накрая задайте името и кодовете в новосъздадения модул и запазете XLSM файла на диска.

Код за актуализиране на библиотека с кодове на VBA с помощта на 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!!!")

Този примерен код демонстрира процеса за добавяне на модул с код в библиотеката с кодове на Excel VBA с помощта на Python. Този примерен VBA код променя цвета на фона на всяка клетка на зелено, когато въведете четно число в клетката. Можете да зададете типа модул Vba на ПРОЦЕДУРАЛЕН, ДОКУМЕНТЕН, КЛАС или ДИЗАЙНЕР.

Тази статия обхваща процеса на добавяне на макрос към файл на Excel. Ако искате да премахнете защитата на Excel файл, вижте статията на Как да премахнете защитата на Excel в Python.

 Български