Visual Basic for Applications (VBA) to potężny język programowania, który umożliwia automatyzację zadań w dokumentach programu Word. Co więcej, możesz dość łatwo wykonywać powtarzalne zadania za pomocą makr VBA. W tym artykule dowiesz się, jak pracować z projektami i modułami VBA w dokumentach MS Word. W szczególności artykuł omówi, jak programowo tworzyć, modyfikować i klonować makra VBA w Python.
- Biblioteka Python do pracy z makrami MS Word VBA
- Utwórz makro VBA w dokumencie MS Word
- Zmodyfikuj makro VBA w dokumencie programu Word
- Sklonuj makro VBA w dokumencie programu Word
Biblioteka Python do pracy z makrami MS Word VBA
Do pracy z makrami VBA w plikach Word użyjemy Aspose.Words for Python. Jest to potężna biblioteka do tworzenia i manipulowania dokumentami Word z poziomu aplikacji Python. Możesz zainstalować bibliotekę w swojej aplikacji z PyPI za pomocą następującego polecenia pip.
pip install aspose-words
Utwórz makro VBA w dokumencie MS Word w Python
Poniżej przedstawiono kroki tworzenia makra VBA w pliku MS Word DOCM przy użyciu języka Python.
- Załaduj dokument programu Word lub utwórz nowy przy użyciu klasy Document.
- Utwórz obiekt klasy VbaProject.
- Ustaw nazwę projektu za pomocą właściwości VbaProject.name.
- Przypisz projekt do właściwości Document.vbaproject.
- Utwórz obiekt klasy VbaModule.
- Ustaw nazwę i typ modułu, używając odpowiednio właściwości VbaModule.name i VbaModule.type.
- Ustaw kod źródłowy za pomocą właściwości VbaModule.sourcecode.
- Dodaj moduł do projektu VBA dokumentu za pomocą metody Document.vbaproject.modules.add(VbaModule).
- Zapisz dokument za pomocą metody Document.save().
Poniższy przykładowy kod pokazuje, jak utworzyć makro VBA w dokumencie DOCM przy użyciu języka Python.
import aspose.words as aw
# Załaduj dokument Worda.
doc = aw.Document("document.docm")
# Utwórz projekt VBA
project = aw.vba.VbaProject()
project.name = "AsposeProject"
doc.vba_project = project
# Utwórz nowy moduł i określ kod źródłowy makra.
module = aw.vba.VbaModule()
module.name = "AsposeModule"
module.type = aw.vba.VbaModuleType.PROCEDURAL_MODULE
module.source_code = "New source code"
# Dodaj moduł do projektu VBA.
doc.vba_project.modules.add(module)
# Zapisz dokument.
doc.save("create_vba_project.docm")
Zmodyfikuj makro VBA w dokumencie programu Word w Python
Możesz także bezproblemowo uzyskiwać dostęp i modyfikować istniejące makra VBA w dokumentach Word. Poniższe kroki pokazują, jak to osiągnąć przy użyciu Aspose.Words dla języka Python.
- Załaduj dokument programu Word przy użyciu klasy Document.
- Uzyskaj odniesienie VbaProject do obiektu za pomocą właściwości Document.vbaproject.
- Uzyskaj dostęp do żądanego modułu VBA za pomocą indeksu i zaktualizuj jego kod źródłowy za pomocą właściwości VbaProject.modules[int].sourcecode.
- Zapisz dokument za pomocą metody Document.save().
Poniższy przykładowy kod pokazuje, jak zmodyfikować istniejące makro MS Word VBA przy użyciu języka Python.
import aspose.words as aw
# Załaduj dokument Worda.
doc = aw.Document("document.docm")
# Uzyskaj odniesienie do projektu VBA.
project = doc.vba_project
# Zaktualizuj kod źródłowy.
newSourceCode = "Test change source code"
project.modules[0].source_code = newSourceCode
# Zapisz dokument.
doc.save("modify_vba_macros.docm")
Sklonuj makro VBA w dokumencie programu Word za pomocą Python
W niektórych przypadkach może być konieczne sklonowanie modułu VBA lub całego projektu VBA z jednego dokumentu programu Word do innego. Aby to osiągnąć, Aspose.Words for Python pozwala dość łatwo tworzyć klony. W poniższych sekcjach opisano, jak sklonować moduł VBA lub projekt VBA.
Sklonuj moduł VBA
Poniżej przedstawiono kroki tworzenia klonu modułu VBA z jednego dokumentu DOCM do innego za pomocą Python.
- Załaduj źródłowy dokument programu Word przy użyciu klasy Document.
- Załaduj docelowy dokument programu Word przy użyciu klasy Document.
- Utwórz projekt Vba dla docelowego dokumentu programu Word.
- Pobierz klon modułu VBA ze źródłowego dokumentu Worda do obiektu za pomocą metody Document.vbaproject.modules.getbyname(string).clone() .
- Dodaj sklonowany moduł do dokumentu docelowego przy użyciu metody Document.vbaproject.modules.add(VbaModule).
- Zapisz dokument docelowy za pomocą metody Document.save().
Poniższy przykładowy kod pokazuje, jak sklonować moduł MS Word VBA w języku Python.
import aspose.words as aw
# Załaduj źródłowy dokument Word.
doc = aw.Document("document.docm")
# Załaduj docelowy dokument programu Word.
destDoc = aw.Document("dest_document.docm")
destDoc.vba_project = aw.vba.VbaProject()
# Sklonuj moduł VBA.
copyModule = doc.vba_project.modules.get_by_name("Module1").clone()
destDoc.vba_project.modules.add(copyModule)
# Zapisz dokument.
destDoc.save("clone_vba_module.docm")
Sklonuj projekt VBA
Poniżej przedstawiono kroki sklonowania projektu MS Word VBA w Python.
- Załaduj źródłowy dokument programu Word przy użyciu klasy Document.
- Załaduj docelowy dokument programu Word przy użyciu klasy Document.
- Pobierz klon projektu VBA z dokumentu źródłowego za pomocą metody Document.vbaproject.clone() i dodaj go do dokumentu docelowego za pomocą właściwości Document.vbaproject.
- Zapisz dokument docelowy za pomocą metody Document.save().
Poniższy przykładowy kod pokazuje, jak sklonować projekt VBA z jednego dokumentu programu Word do innego w języku Python.
import aspose.words as aw
# Załaduj źródłowy dokument Word.
doc = aw.Document("document.docm")
# Załaduj docelowy dokument programu Word.
destDoc = aw.Document("dest_document.docm")
# Sklonuj projekt VBA.
destDoc.vba_project = doc.vba_project.clone()
# Zapisz dokument.
destDoc.save("clone_vba_module.docm")
Uzyskaj bezpłatną licencję API
Możesz uzyskać tymczasową licencję na używanie Aspose.Words for Python bez ograniczeń ewaluacyjnych.
Wniosek
W tym artykule nauczyłeś się tworzyć makra VBA w dokumentach MS Word za pomocą Python. Ponadto widziałeś, jak programowo modyfikować lub klonować istniejące moduły lub projekty VBA. Ponadto możesz poznać inne funkcje Aspose.Words for Python, korzystając z dokumentacji. Jeśli masz jakieś pytania, daj nam znać za pośrednictwem naszego forum.
Zobacz też
- Twórz dokumenty MS Word za pomocą Python
- Konwertuj dokument Word na HTML za pomocą Python
- Konwertuj dokumenty programu Word do formatu PNG, JPEG lub BMP w Python
- Dokumenty Worda do Markdown przy użyciu Python
- Porównaj dwa dokumenty Worda w Python
Informacje: Jeśli kiedykolwiek będziesz potrzebował pobrać dokument Word z prezentacji PowerPoint, możesz użyć konwertera Aspose Presentation to Word Document.