Управление кодами VBA для книги Excel с поддержкой макросов.
Добавить модуль VBA в Python
В следующем образце кода создается новая книга и добавляется новый модуль VBA и код макроса, и сохраняется в формате XLSM. Когда вы откроете файл XLSM в Microsoft Excel и нажмете команды Разработчик > Визуальный Basic, вы увидите модуль под названием “TestModule” и внутри него будет следующий код макроса.
Sub ShowMessage()
MsgBox "Welcome to Aspose!"
End Sub
Вот образец кода для создания файла XLSM с модулем VBA и кодом макроса.
from aspose.cells import SaveFormat, Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create new workbook | |
workbook = Workbook() | |
# Access first worksheet | |
worksheet = workbook.worksheets[0] | |
# Add VBA Module | |
idx = workbook.vba_project.modules.add(worksheet) | |
# Access the VBA Module, set its name and codes | |
module = workbook.vba_project.modules[idx] | |
module.name = "TestModule" | |
module.codes = "Sub ShowMessage()" + "\r\n" + " MsgBox \"Welcome to Aspose!\"" + "\r\n" + "End Sub" | |
# Save the workbook | |
workbook.save(dataDir + "output_out.xlsm", SaveFormat.XLSM) |
Редактирование VBA или Макроса в Python
Вы можете редактировать VBA или макрос коды, используя Aspose.Cells для Python via .NET. Aspose.Cells для Python via .NET добавил следующий пространственный пакет и классы для чтения и редактирования проекта VBA в файле Excel.
- Aspose.Cells.Vba
- VbaProject
- VbaModuleCollection
- VbaModule
Эта статья покажет вам, как изменить VBA или макрос внутри исходного файла Excel, используя Aspose.Cells для Python via .NET.
Приведенный ниже образец кода загружает исходный файл Excel с встроенным VBA-кодом или макросом.
Sub Button1_Click()
MsgBox "This is test message."
End Sub
После выполнения примера кода Aspose.Cells для Python via .NET, VBA или макрос код будет изменен следующим образом
Sub Button1_Click()
MsgBox "This is Aspose.Cells message."
End Sub
Вы можете загрузить исходный файл Excel и файл Excel для вывода по указанным ссылкам.
from aspose.cells import Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create workbook object from source Excel file | |
workbook = Workbook(dataDir + "sample.xlsm") | |
# Change the VBA Module Code | |
for module in workbook.vba_project.modules: | |
code = module.codes | |
# Replace the original message with the modified message | |
code = code.replace("This is test message.", "This is Aspose.Cells message.") | |
module.codes = code | |
# Save the output Excel file | |
workbook.save(dataDir + "output_out.xlsm") |
Продвинутые темы
- Добавить ссылку на библиотеку в проект VBA в книге
- Проверить, действителен ли цифровая подпись кода VBA
- Проверить, подписан ли код VBA
- Проверить, подписан ли проект VBA в книге Excel
- Проверить, защищен ли и заблокирован для просмотра проект VBA
- Цифрово подписать проект кода VBA c сертификатом
- Экспортировать сертификат VBA в файл или поток
- Фильтрация проекта VBA при загрузке книги
- Узнать, защищен ли проект VBA
- Защитить паролем проект VBA книги Excel