Często dokumenty programu Word zawierają kod Visual Basic for Applications (VBA), który automatyzuje zadania i zwiększa funkcjonalność dokumentu. Jeśli jesteś programistą Java, możesz zastanawiać się, jak wchodzić w interakcje z kodem VBA i modyfikować go w dokumentach programu Word. Dlatego w tym poście na blogu przyjrzymy się, jak tworzyć i modyfikować kod VBA w dokumentach programu Word w aplikacji Java.
- Biblioteka Java do pracy z VBA w dokumentach Word
- Utwórz makro VBA w dokumencie programu Word
- Odczytaj makro VBA z dokumentu programu Word
- Zaktualizuj makro VBA w dokumencie programu Word
- Klonuj kod VBA z dokumentu Word
Biblioteka Java do pracy z VBA w dokumentach Word
Aspose.Words for Java to biblioteka umożliwiająca tworzenie, manipulowanie i renderowanie dokumentów programu Microsoft Word bez konieczności instalowania programu Microsoft Word. Zapewnia szeroką gamę funkcji do pracy z dokumentami Word, w tym czytania, pisania i modyfikowania ich zawartości. Dodatkowo biblioteka umożliwia pracę z kodem VBA osadzonym w dokumentach Worda, co może być niezwykle przydatne przy automatyzacji zadań i dodawaniu interaktywności do dokumentów.
Możesz pobrać bibliotekę lub zainstalować ją, korzystając z poniższej konfiguracji maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>23.8</version>
<classifier>jdk17</classifier>
</dependency>
Utwórz makro VBA w dokumencie programu Word w Javie
Aspose.Words udostępnia następujące klasy do pracy z kodem VBA w dokumentach Word:
- Projekt Vba to access VBA project information.
- Kolekcja VbaModules to access the collection of VBA modules in a project.
- Moduł Vba to access a single module in the VBA project.
Przyjrzyjmy się krokom wymaganym do utworzenia makra VBA w dokumencie Word.
- Najpierw załaduj dokument Worda lub utwórz nowy, korzystając z klasy Document.
- Następnie utwórz obiekt klasy VbaProject, ustaw jego nazwę i przypisz do dokumentu za pomocą metody setVbaProject().
- Utwórz obiekt klasy VbaModule i ustaw jego nazwę, typ i kod źródłowy.
- Dodaj moduł do projektu za pomocą metody Document.getVbaProject().getModules().add(VbaModule).
- Na koniec zapisz dokument programu Word przy użyciu metody Document.save().
Poniższy fragment kodu pokazuje, jak utworzyć moduł VBA w dokumencie programu Word w Javie.
// Kompletne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-words/Aspose.Words-for-Java
// Załaduj dokument
Document doc = new Document("document.docm");
// Utwórz nowy projekt VBA
VbaProject project = new VbaProject();
project.setName("AsposeProject");
doc.setVbaProject(project);
// Utwórz nowy moduł i określ kod źródłowy makra
VbaModule module = new VbaModule();
module.setName("AsposeModule");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");
// Dodaj moduł do projektu VBA
doc.getVbaProject().getModules().add(module);
// Zapisz dokument
doc.save("updated.docm");
Odczytaj makro VBA z dokumentu programu Word
Możesz uzyskać dostęp do istniejących makr VBA i je odczytać z dokumentu programu Word. W tym celu należy załadować dokument i uzyskać dostęp do kolekcji modułów w projekcie VBA. Poniżej znajdują się kroki umożliwiające odczytanie wszystkich makr VBA w dokumencie programu Word.
- Załaduj dokument programu Word przy użyciu klasy Document.
- Uzyskaj dostęp do kolekcji modułów VBA za pomocą metody Document.getVbaProject().getModules().
- Użyj klasy VbaModule, aby odczytać każdy moduł VBA w projekcie.
Poniższy fragment kodu pokazuje, jak czytać moduły VBA z dokumentu Word w Javie.
// Załaduj dokument
Document doc = new Document("document.docm");
// Przeczytaj kod źródłowy VBA
for (VbaModule module : doc.getVbaProject().getModules()) {
System.out.println(module.getSourceCode());
}
Zaktualizuj makro VBA w dokumencie programu Word
Jeśli zajdzie potrzeba aktualizacji kodu źródłowego lub innych informacji modułu VBA, możesz to zrobić bez wysiłku. Wystarczy uzyskać dostęp do żądanego modułu VBA z kolekcji i zmodyfikować go w razie potrzeby. Poniżej przedstawiono kroki aktualizacji makra VBA w dokumencie programu Word.
- Najpierw załaduj dokument Word przy użyciu klasy Document.
- Uzyskaj dostęp do kolekcji modułów VBA za pomocą metody Document.getVbaProject().getModules().
- Uzyskaj odwołanie do żądanego makra VBA w obiekcie VbaModule.
- Zaktualizuj moduł VBA za pomocą obiektu VbaModule.
Poniższy przykładowy kod pokazuje, jak zaktualizować makro VBA w dokumencie programu Word przy użyciu języka Java.
// Kompletne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-words/Aspose.Words-for-Java
// Załaduj dokument
Document doc = new Document("document.docm");
// Uzyskaj referencje projektu VBA
VbaProject project = doc.getVbaProject();
String newSourceCode = "Test change source code";
// Wybierz moduł i ustaw nowy kod źródłowy
project.getModules().get(0).setSourceCode(newSourceCode);
// Zapisz dokument
doc.save("output.docm");
Klonuj kod VBA z dokumentu Word
Aspose.Words for Java umożliwia także klonowanie makr VBA z jednego dokumentu programu Word do drugiego. Możesz sklonować cały projekt VBA lub konkretny moduł VBA. Przyjrzyjmy się, jak skopiować VBA w obu przypadkach.
Klonuj projekt VBA z dokumentu Word
Oto kroki, aby sklonować kompletny projekt VBA w dokumencie programu Word.
- Załaduj źródłowe i docelowe dokumenty programu Word przy użyciu klasy Document.
- Wywołaj metodę target.setVbaProject(source.getVbaProject().deepClone()) w celu sklonowania projektu VBA z dokumentu źródłowego do docelowego.
- Zapisz dokument docelowy za pomocą metody Document.save().
Poniższy fragment kodu klonuje projekt VBA z jednego dokumentu programu Word do innego.
// Załaduj dokument źródłowy
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();
// Załaduj dokument docelowy
Document destDoc = new Document("target.docm");
// Sklonuj cały projekt
destDoc.setVbaProject(doc.getVbaProject().deepClone());
// Zapisz dokument
destDoc.save("output.docm");
Klonuj moduł VBA z dokumentu Word
Poniżej przedstawiono kroki klonowania modułu VBA z jednego dokumentu programu Word do innego w języku Java.
- Załaduj źródłowe i docelowe dokumenty programu Word przy użyciu klasy Document.
- Uzyskaj klon żądanego modułu VBA w obiekcie VbaModule za pomocą metody Document.getVbaProject().getModules().get(string Name).deepClone().
- Dodaj sklonowany moduł VBA do dokumentu docelowego za pomocą metody target.getVbaProject().getModules().add(VbaModule).
- Zapisz dokument docelowy za pomocą metody Document.save().
Poniższy fragment kodu pokazuje, jak sklonować moduł VBA z jednego dokumentu programu Word do drugiego.
// Kompletne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-words/Aspose.Words-for-Java
// Załaduj dokument źródłowy
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();
// Załaduj dokument docelowy
Document destDoc = new Document("target.docm");
// Utwórz nowy projekt VBA
destDoc.setVbaProject(new VbaProject());
// Sklonuj pojedynczy moduł
VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone();
destDoc.getVbaProject().getModules().add(copyModule);
// Zapisz zaktualizowany dokument
destDoc.save("output.docm");
Zdobądź bezpłatną licencję
Zdobądź bezpłatną licencję tymczasową, aby w pełni korzystać z biblioteki Java Word bez żadnych ograniczeń ewaluacyjnych.
Zasoby
Poniżej znajduje się kilka przydatnych łączy umożliwiających zapoznanie się z naszą biblioteką edytorów tekstu Java:
Wniosek
Aspose.Words for Java zapewnia wydajne i elastyczne rozwiązanie do tworzenia i modyfikowania kodu VBA w dokumentach Word przy użyciu języka Java. Niezależnie od tego, czy chcesz tworzyć interaktywne dokumenty od podstaw, czy ulepszać istniejące za pomocą funkcjonalności VBA, ta biblioteka ułatwia pracę z dokumentami programu Word i automatyzację zadań.
W tym poście na blogu zamieściliśmy przewodnik krok po kroku dotyczący pracy z markerami VBA w dokumentach programu Word z poziomu aplikacji Java. Instalując bibliotekę i postępując zgodnie ze wskazówkami, możesz łatwo programowo manipulować kodem VBA.