PPTX на Python

Макроси VBA дозволяють автоматизувати різні типи операцій у презентаціях PowerPoint. Ви можете використовувати їх для створення діаграм, показу прихованих об’єктів і виконання різних повторюваних завдань у презентаціях. Під час роботи з презентаціями PowerPoint із програм Python вам може знадобитися маніпулювати макросами VBA. Тому в цій статті ви дізнаєтеся, як додавати, видобувати та видаляти макроси VBA в PowerPoint за допомогою Python.

Бібліотека 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.

# Створіть або завантажте презентацію
with slides.Presentation() as presentation:
    # Створіть новий проект VBA
    presentation.vba_project = slides.vba.VbaProject()

    # Додайте порожній модуль до проекту VBA
    module = presentation.vba_project.modules.add_empty_module("Module")

    # Встановити вихідний код модуля
    module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"

    # Створити посилання на<stdole>
    stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation")

    # Створіть посилання на 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")

    # додати посилання на проект VBA
    presentation.vba_project.references.add(stdoleReference)
    presentation.vba_project.references.add(officeReference)

    # Зберегти презентацію
    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.

# Завантажити презентацію
with slides.Presentation("presentation.pptm") as presentation:
    
    # Перевірте, чи презентація містить проект VBA
    if presentation.vba_project is not None:
        
        # Роздрукуйте кожен модуль
       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.

# Завантажити презентацію
with slides.Presentation("presentation.pptm") as presentation:
    # Видаліть макрос VBA за допомогою індексу
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

    # Зберегти презентацію
    presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Отримайте безкоштовну ліцензію

Ви можете використовувати Aspose.Slides for Python без оціночних обмежень, отримавши безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як працювати з макросами VBA в презентаціях PowerPoint за допомогою Python. За допомогою зразків коду ми продемонстрували, як додавати, видобувати та видаляти макроси VBA в презентаціях PowerPoint. Крім того, ви можете відвідати документацію, щоб дізнатися більше про Aspose.Slides for Python. Крім того, ви можете поставити свої запитання та запити через наш форум.

Дивись також