PPTX in Python

Mit VBA-Makros können Sie verschiedene Arten von Vorgängen in PowerPoint-Präsentationen automatisieren. Sie können sie verwenden, um Diagramme zu erstellen, versteckte Objekte sichtbar zu machen und verschiedene sich wiederholende Aufgaben in den Präsentationen auszuführen. Während Sie in Ihren Python-Anwendungen mit PowerPoint-Präsentationen arbeiten, müssen Sie möglicherweise VBA-Makros manipulieren. Daher erfahren Sie in diesem Artikel, wie Sie VBA-Makros in PowerPoint mit Python hinzufügen, extrahieren und entfernen.

Python-Bibliothek zum Arbeiten mit VBA-Makros in PowerPoint

Um mit VBA-Makros in PowerPoint-Präsentationen zu arbeiten, verwenden wir Aspose.Slides for Python. Die Bibliothek bietet eine Vielzahl von Funktionen zum Erstellen, Bearbeiten und Konvertieren von PowerPoint-Präsentationen. Sie können die Bibliothek von PyPI mit dem folgenden Befehl installieren.

> pip install aspose.slides

Fügen Sie VBA-Makros in PowerPoint-Präsentationen in Python hinzu

Im Folgenden sind die Schritte zum Hinzufügen eines VBA-Makros in einer PowerPoint-Präsentation mit Python aufgeführt.

  • Verwenden Sie zunächst die Präsentationsklasse, um die PowerPoint-Präsentation zu laden oder zu erstellen.
  • Erstellen Sie dann ein neues VbaProject und weisen Sie es der Eigenschaft Presentation.vbaproject zu.
  • Fügen Sie danach ein leeres VBA-Modul mit der Methode Presentation.vbaproject.modules.addemptymodule(string) hinzu.
  • Fügen Sie dem VBA-Modul mithilfe der Eigenschaft IVbaModule.sourcecode Quellcode hinzu.
  • Ordnen Sie die Referenzen zu und fügen Sie sie der Collection Presentation.vbaproject.references hinzu.
  • Speichern Sie abschließend die Präsentationsdatei mit der Methode Presentation.save(string, SaveFormat.PPTM).

Das folgende Codebeispiel zeigt, wie Sie mithilfe von Python ein VBA-Makro in eine PowerPoint-Präsentation einfügen.

# Erstellen oder laden Sie eine Präsentation
with slides.Presentation() as presentation:
    # Erstellen Sie ein neues VBA-Projekt
    presentation.vba_project = slides.vba.VbaProject()

    # Fügen Sie dem VBA-Projekt ein leeres Modul hinzu
    module = presentation.vba_project.modules.add_empty_module("Module")

    # Modul-Quellcode festlegen
    module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"

    # Verweis erstellen auf<stdole>
    stdoleReference = slides.vba.VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation")

    # Verweis auf Office erstellen
    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")

    # Verweise auf das VBA-Projekt hinzufügen
    presentation.vba_project.references.add(stdoleReference)
    presentation.vba_project.references.add(officeReference)

    # Präsentation speichern
    presentation.save("add-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Extrahieren Sie VBA-Makros aus PowerPoint in Python

Sie können auch auf VBA-Makros zugreifen, die einer PowerPoint-Präsentation hinzugefügt wurden, und ihre Informationen extrahieren. Die folgenden Schritte zeigen, wie Sie VBA-Makros extrahieren und ihren Namen und Quellcode in Python ausgeben.

  • Laden Sie zunächst die makrofähige Präsentation mithilfe der Presentation-Klasse.
  • Überprüfen Sie dann, ob die Präsentation die VBA-Projekte enthält, indem Sie die Eigenschaft Presentation.vbaproject verwenden.
  • Greifen Sie auf jedes VBA-Modul in der Presentation.vbaproject.modules-Sammlung zu.
  • Extrahieren Sie schließlich den Quellcode und den Namen des VBA-Moduls.

Das folgende Codebeispiel zeigt, wie PowerPoint-VBA-Makros in Python extrahiert werden.

# Laden Sie eine Präsentation
with slides.Presentation("presentation.pptm") as presentation:
    
    # Überprüfen Sie, ob die Präsentation ein VBA-Projekt enthält
    if presentation.vba_project is not None:
        
        # Drucken Sie jedes Modul aus
        for module in presentation.vba_project.modules:
            print(module.name)
            print(module.source_code)

Entfernen Sie VBA-Makros aus einer PowerPoint-Präsentation

Um ein VBA-Makro zu entfernen, müssen Sie über seinen Index darauf zugreifen. Sobald Sie die Referenz des Makros haben, können Sie es aus der Sammlung entfernen. Im Folgenden finden Sie die Schritte zum Entfernen eines VBA-Makros aus einer PowerPoint-Präsentation.

  • Laden Sie zunächst die makrofähige PowerPoint-Präsentation mithilfe der Presentation-Klasse.
  • Entfernen Sie dann das VBA-Makro mit der Methode Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index]).
  • Speichern Sie abschließend die aktualisierte Präsentation mit der Methode Presentation.save(string, SaveFormat.PPTM).

Das folgende Codebeispiel zeigt, wie ein VBA-Makro in Python entfernt wird.

# Laden Sie eine Präsentation
with slides.Presentation("presentation.pptm") as presentation:
    # Entfernen Sie das VBA-Makro mithilfe des Index
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

    # Präsentation speichern
    presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Holen Sie sich eine kostenlose Lizenz

Sie können Aspose.Slides für Python ohne Evaluierungseinschränkungen verwenden, indem Sie eine kostenlose temporäre Lizenz erwerben.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit Python in PowerPoint-Präsentationen mit VBA-Makros arbeiten. Anhand von Codebeispielen haben wir gezeigt, wie Sie VBA-Makros in PowerPoint-Präsentationen hinzufügen, extrahieren und entfernen. Außerdem können Sie die Dokumentation aufrufen, um mehr über Aspose.Slides for Python zu erfahren. Sie können Ihre Fragen und Fragen auch über unser Forum stellen.

Siehe auch