Visual Basic for Applications (VBA) ist eine leistungsstarke Programmiersprache, mit der Sie Aufgaben in Word Dokumenten automatisieren können. Darüber hinaus können Sie sich wiederholende Aufgaben mit VBA Makros ganz einfach ausführen. In diesem Artikel erfahren Sie, wie Sie mit VBA Projekten und Modulen in MS Word Dokumenten arbeiten. Insbesondere behandelt der Artikel das programmgesteuerte Erstellen, Ändern und Klonen von VBA Makros in Python.
- Python Bibliothek zum Arbeiten mit MS Word VBA Makros
- Erstellen Sie ein VBA Makro in einem MS Word Dokument
- VBA Makro in einem Word Dokument ändern
- Klonen Sie ein VBA Makro in einem Word Dokument
Python Bibliothek zum Arbeiten mit MS Word VBA Makros
Um mit VBA Makros in Word Dateien zu arbeiten, verwenden wir Aspose.Words for Python. Es ist eine leistungsstarke Bibliothek zum Erstellen und Bearbeiten von Word Dokumenten aus Python Anwendungen heraus. Sie können die Bibliothek in Ihrer Anwendung von PyPI mit dem folgenden Pip Befehl installieren.
pip install aspose-words
Erstellen Sie ein VBA Makro in einem MS Word Dokument in Python
Im Folgenden sind die Schritte zum Erstellen eines VBA Makros in einer MS Word-DOCM Datei mit Python aufgeführt.
- Laden Sie das Word Dokument oder erstellen Sie ein neues mit der Document Klasse.
- Erstellen Sie ein Objekt der VbaProject Klasse.
- Legen Sie den Namen des Projekts mit der Eigenschaft VbaProject.name fest.
- Weisen Sie das Projekt der Eigenschaft Document.vba\project zu.
- Erstellen Sie ein Objekt der Klasse VbaModule.
- Legen Sie den Namen und Typ des Moduls mit den Eigenschaften VbaModule.name bzw. VbaModule.type fest.
- Legen Sie den Quellcode mit der Eigenschaft VbaModule.source\code fest.
- Fügen Sie mithilfe der Methode Document.vba\project.modules.add(VbaModule) ein Modul zum VBA Projekt des Dokuments hinzu.
- Speichern Sie das Dokument mit der methode Document.save().
Das folgende Codebeispiel zeigt, wie Sie mit Python ein VBA Makro in einem DOCM-Dokument erstellen.
import aspose.words as aw
# Load Word document.
doc = aw.Document("document.docm")
# Create VBA project
project = aw.vba.VbaProject()
project.name = "AsposeProject"
doc.vba_project = project
# Create a new module and specify a macro source code.
module = aw.vba.VbaModule()
module.name = "AsposeModule"
module.type = aw.vba.VbaModuleType.PROCEDURAL_MODULE
module.source_code = "New source code"
# Add module to the VBA project.
doc.vba_project.modules.add(module)
# Save document.
doc.save("create_vba_project.docm")
Ändern Sie das VBA Makro in einem Word Dokument in Python
Sie können auch nahtlos auf die vorhandenen VBA Makros in Word Dokumenten zugreifen und diese ändern. Die folgenden Schritte zeigen, wie Sie dies mit Aspose.Words for Python erreichen.
- Laden Sie das Word Dokument mithilfe der Document Klasse.
- Rufen Sie mithilfe der Eigenschaft Document.vba\project den Verweis auf das VbaProject in ein Objekt ab.
- Greifen Sie über index auf das gewünschte VBA-Modul zu und aktualisieren Sie seinen Quellcode mit der Eigenschaft VbaProject.modules[int].source\code.
- Speichern Sie das Dokument mit der methode Document.save().
Das folgende Codebeispiel zeigt, wie Sie ein vorhandenes MS Word-VBA Makro mit Python ändern.
import aspose.words as aw
# Load Word document.
doc = aw.Document("document.docm")
# Get reference of VBA project.
project = doc.vba_project
# Update source code.
newSourceCode = "Test change source code"
project.modules[0].source_code = newSourceCode
# Save document.
doc.save("modify_vba_macros.docm")
Klonen Sie ein VBA Makro in einem Word Dokument mit Python
In bestimmten Fällen müssen Sie möglicherweise ein VBA-Modul oder das gesamte VBA Projekt von einem Word Dokument in ein anderes klonen. Um dies zu erreichen, können Sie mit Aspose.Words for Python ganz einfach Klone erstellen. In den folgenden Abschnitten wird beschrieben, wie Sie ein VBA-Modul oder ein VBA Projekt klonen.
Klonen Sie ein VBA-Modul
Im Folgenden sind die Schritte zum Erstellen eines Klons eines VBA-Moduls von einem DOCM-Dokument zu einem anderen mit Python aufgeführt.
- Laden Sie das Word-Quelldokument mithilfe der Document Klasse.
- Laden Sie das Ziel-Word Dokument mithilfe der Document Klasse.
- Erstellen Sie ein VbaProject für das Word-Zieldokument.
- Holen Sie den Klon des VBA-Moduls aus dem Word-Quelldokument in ein Objekt, indem Sie die Methode Document.vba\project.modules.get\by\name(string).clone() verwenden.
- Fügen Sie das geklonte Modul mithilfe der Methode Document.vba\project.modules.add(VbaModule) zum Zieldokument hinzu.
- Speichern Sie das Zieldokument mit der methode Document.save().
Das folgende Codebeispiel zeigt, wie Sie ein MS Word-VBA-Modul in Python klonen.
import aspose.words as aw
# Load source Word document.
doc = aw.Document("document.docm")
# Load destination Word document.
destDoc = aw.Document("dest_document.docm")
destDoc.vba_project = aw.vba.VbaProject()
# Clone VBA module.
copyModule = doc.vba_project.modules.get_by_name("Module1").clone()
destDoc.vba_project.modules.add(copyModule)
# Save document.
destDoc.save("clone_vba_module.docm")
Klonen Sie ein VBA Projekt
Im Folgenden sind die Schritte zum Klonen eines MS Word-VBA Projekts in Python aufgeführt.
- Laden Sie das Word-Quelldokument mithilfe der Document Klasse.
- Laden Sie das Ziel-Word Dokument mithilfe der Document Klasse.
- Rufen Sie den Klon des VBA Projekts aus dem Quelldokument mit der methode Document.vba\project.clone() ab und fügen Sie ihn mit der Eigenschaft Document.vba\project zum Zieldokument hinzu.
- Speichern Sie das Zieldokument mit der methode Document.save().
Das folgende Codebeispiel zeigt, wie Sie in Python ein VBA Projekt von einem Word Dokument in ein anderes klonen.
import aspose.words as aw
# Load source Word document.
doc = aw.Document("document.docm")
# Load destination Word document.
destDoc = aw.Document("dest_document.docm")
# Clone VBA project.
destDoc.vba_project = doc.vba_project.clone()
# Save document.
destDoc.save("clone_vba_module.docm")
Holen Sie sich eine kostenlose API Lizenz
Sie können eine vorübergehende Lizenz erwerben, um Aspose.Words for Python ohne Evaluierungseinschränkungen zu verwenden.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mit Python VBA Makros in MS Word Dokumenten erstellen. Darüber hinaus haben Sie gesehen, wie Sie vorhandene VBA-Module oder Projekte programmgesteuert ändern oder klonen können. Darüber hinaus können Sie weitere Funktionen von Aspose.Words for Python mithilfe der Dokumentation erkunden. Falls Sie Fragen haben, können Sie uns diese gerne über unser Forum mitteilen.
Siehe auch
- Erstellen Sie MS Word Dokumente mit Python
- Konvertieren Sie Word Dokumente mit Python in HTML
- Konvertieren Sie Word Dokumente in Python in PNG, JPEG oder BMP
- Word Dokumente zu Markdown mit Python
- Vergleichen Sie zwei Word Dokumente in Python
Info: Wenn Sie jemals ein Word Dokument aus einer PowerPoint Präsentation erhalten müssen, können Sie den Konverter Aspose Presentation to Word Document verwenden.