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
- Fügen Sie VBA-Makros in einer PowerPoint-Präsentation hinzu
- Extrahieren Sie VBA-Makros aus einer Präsentation
- Entfernen Sie VBA-Makros aus einer Präsentation
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.