Това кратко ръководство обяснява процеса за добавяне на код в Excel VBA библиотека с помощта на Python. Има подробности за настройване на IDE за разработка, списък със стъпки, дефиниращи задачите за програмиране, и примерен код, демонстриращ как да библиотека с макроси на Excel с помощта на Python. Ще се научите да осъществявате достъп до библиотеката на VBA и да добавяте модули/кодове според изискванията.
Стъпки за добавяне на библиотека с изходен код на Excel VBA с помощта на Python
- Настройте IDE да използва Aspose.Cells за Python чрез Java за актуализиране на VBA библиотеката
- Създайте обект Workbook, отворете лист и добавете нов module
- Осъществете достъп до новосъздадения модул, като използвате върнатия индекс, докато създавате модула
- Задайте името на модула
- Задайте код за модула
- Запазете получения 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.