Макросы VBA позволяют автоматизировать различные типы операций в презентациях PowerPoint. Вы можете использовать их для создания диаграмм, отображения скрытых объектов и выполнения различных повторяющихся задач в презентациях. При работе с презентациями PowerPoint из приложений Python вам может понадобиться манипулировать макросами VBA. Поэтому в этой статье вы узнаете, как добавлять, извлекать и удалять макросы VBA в PowerPoint с помощью Python.
- Библиотека Python для работы с макросами VBA
- Добавление макросов VBA в презентацию PowerPoint
- Извлечение макросов VBA из презентации
- Удалить макросы VBA из презентации
Библиотека Python для работы с макросами VBA в PowerPoint
Для работы с макросами VBA в презентациях PowerPoint мы будем использовать Aspose.Slides for Python. Библиотека предоставляет богатый набор функций для создания, редактирования и преобразования презентаций PowerPoint. Вы можете установить библиотеку из PyPI с помощью следующей команды.
> pip install aspose.slides
Добавить макрос VBA в презентации PowerPoint на Python
Ниже приведены шаги по добавлению макроса VBA в презентацию PowerPoint с использованием Python.
- Сначала используйте класс Presentation для загрузки или создания презентации PowerPoint.
- Затем создайте новый VbaProject и назначьте его свойству Presentation.vbaproject.
- После этого добавьте пустой модуль VBA, используя метод Presentation.vbaproject.modules.addemptymodule(string).
- Добавьте исходный код в модуль VBA, используя свойство IVbaModule.sourcecode.
- Свяжите ссылки и добавьте их в коллекцию Presentation.vbaproject.references.
- Наконец, сохраните файл презентации с помощью метода Presentation.save(string, SaveFormat.PPTM).
В следующем примере кода показано, как добавить макрос VBA в презентацию PowerPoint с помощью Python.
# Create or load a presentation
with slides.Presentation() as presentation:
# Create new VBA project
presentation.vba_project = slides.vba.VbaProject()
# Add empty module to the VBA project
module = presentation.vba_project.modules.add_empty_module("Module")
# Set module source code
module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"
# Create reference to <stdole>
stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation")
# Create reference to Office
officeReference =slides.vba.VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library")
# add references to the VBA project
presentation.vba_project.references.add(stdoleReference)
presentation.vba_project.references.add(officeReference)
# Save presentation
presentation.save("add-vba-macro.pptm", slides.export.SaveFormat.PPTM)
Извлечение макросов VBA из PowerPoint в Python
Вы также можете получить доступ к макросам VBA, добавленным в презентацию PowerPoint, и извлечь из них информацию. Следующие шаги демонстрируют, как извлечь макросы VBA и распечатать их имя и исходный код в Python.
- Сначала загрузите презентацию с поддержкой макросов, используя класс Presentation.
- Затем проверьте, содержит ли презентация проекты VBA, используя свойство Presentation.vbaproject.
- Получите доступ к каждому модулю VBA в коллекции Presentation.vbaproject.modules.
- Наконец, извлеките исходный код и имя модуля VBA.
В следующем примере кода показано, как извлечь макросы PowerPoint VBA в Python.
# Load a presentation
with slides.Presentation("presentation.pptm") as presentation:
# Check if presentation contains VBA Project
if presentation.vba_project is not None:
# Print each module
for module in presentation.vba_project.modules:
print(module.name)
print(module.source_code)
Удалить макросы VBA из презентации PowerPoint
Чтобы удалить макрос VBA, вам нужно получить к нему доступ, используя его индекс. Получив ссылку на макрос, вы можете удалить его из коллекции. Ниже приведены шаги по удалению макроса VBA из презентации PowerPoint.
- Сначала загрузите презентацию PowerPoint с поддержкой макросов, используя класс Presentation.
- Затем удалите макрос VBA с помощью метода Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index]).
- Наконец, сохраните обновленную презентацию с помощью метода Presentation.save(string, SaveFormat.PPTM).
В следующем примере кода показано, как удалить макрос VBA в Python.
# Load a presentation
with slides.Presentation("presentation.pptm") as presentation:
# Remove VBA macro using index
presentation.vba_project.modules.remove(presentation.vba_project.modules[0])
# Save presentation
presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)
Получить бесплатную лицензию
Вы можете использовать Aspose.Slides for Python без ограничений на пробную версию, получив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как работать с макросами VBA в презентациях PowerPoint с помощью Python. С помощью примеров кода мы продемонстрировали, как добавлять, извлекать и удалять макросы VBA в презентациях PowerPoint. Кроме того, вы можете посетить документацию, чтобы узнать больше об Aspose.Slides для Python. Кроме того, вы можете задать свой вопрос и запросы через наш форум.