Додайте код у бібліотеку 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 на PROCEDURAL, DOCUMENT, CLASS або DESIGNER.

У цій статті описано процес додавання макросу до файлу Excel. Якщо ви хочете зняти захист файлу Excel, зверніться до статті Як зняти захист Excel у Python.

 Українська