Dokumenty Wordu často obsahují kód VBA (Visual Basic for Applications), který automatizuje úlohy a zlepšuje funkčnost dokumentu. Pokud jste vývojář Java, možná vás zajímá, jak pracovat s kódem VBA a upravovat jej v dokumentech aplikace Word. V tomto příspěvku na blogu tedy prozkoumáme, jak můžete vytvořit a upravit kód VBA v dokumentech aplikace Word v aplikaci Java.
- Java knihovna pro práci s VBA v dokumentech aplikace Word
- Vytvořte makro VBA v dokumentu aplikace Word
- Přečtěte si makro VBA z dokumentu aplikace Word
- Aktualizujte makro VBA v dokumentu aplikace Word
- Klonujte kód VBA z dokumentu aplikace Word
Java knihovna pro práci s VBA v dokumentech aplikace Word
Aspose.Words for Java je knihovna, která vám umožňuje vytvářet, manipulovat a vykreslovat dokumenty Microsoft Word, aniž byste museli mít nainstalovaný Microsoft Word. Poskytuje širokou škálu funkcí pro práci s dokumenty Wordu, včetně čtení, psaní a úprav jejich obsahu. Kromě toho vám knihovna umožňuje pracovat s kódem VBA vloženým do dokumentů aplikace Word, což může být mimořádně užitečné pro automatizaci úkolů a přidání interaktivity do vašich dokumentů.
Knihovnu si můžete stáhnout nebo ji nainstalovat pomocí následující konfigurace 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>
Vytvořte makro VBA v dokumentu aplikace Word v Java
Aspose.Words poskytuje následující třídy pro práci s kódem VBA v dokumentech aplikace Word:
- VbaProject to access VBA project information.
- VbaModulesCollection to access the collection of VBA modules in a project.
- VbaModule to access a single module in the VBA project.
Pojďme se podívat na kroky potřebné k vytvoření makra VBA v dokumentu aplikace Word.
- Nejprve načtěte dokument aplikace Word nebo vytvořte nový pomocí třídy Document.
- Poté vytvořte objekt třídy VbaProject, nastavte jeho název a přiřaďte jej k dokumentu pomocí metody setVbaProject().
- Vytvořte objekt třídy VbaModule a nastavte jeho název, typ a zdrojový kód.
- Přidejte modul do projektu pomocí metody Document.getVbaProject().getModules().add(VbaModule).
- Nakonec uložte dokument aplikace Word pomocí metody Document.save().
Následující fragment kódu ukazuje, jak vytvořit modul VBA v dokumentu aplikace Word v Java.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-words/Aspose.Words-for-Java
// Načíst dokument
Document doc = new Document("document.docm");
// Vytvořte nový projekt VBA
VbaProject project = new VbaProject();
project.setName("AsposeProject");
doc.setVbaProject(project);
// Vytvořte nový modul a zadejte zdrojový kód makra
VbaModule module = new VbaModule();
module.setName("AsposeModule");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");
// Přidejte modul do projektu VBA
doc.getVbaProject().getModules().add(module);
// Uložit dokument
doc.save("updated.docm");
Přečtěte si makro VBA z dokumentu aplikace Word
Můžete přistupovat a číst existující makra VBA z dokumentu aplikace Word. K tomu musíte načíst dokument a získat přístup ke kolekci modulů v projektu VBA. Níže jsou uvedeny kroky ke čtení všech maker jazyka VBA v dokumentu aplikace Word.
- Načtěte dokument aplikace Word pomocí třídy Document.
- Získejte přístup ke kolekci modulů VBA pomocí metody Document.getVbaProject().getModules().
- Použijte třídu VbaModule ke čtení každého modulu VBA v projektu.
Následující fragment kódu ukazuje, jak číst moduly VBA z dokumentu aplikace Word v Java.
// Načíst dokument
Document doc = new Document("document.docm");
// Přečtěte si zdrojový kód VBA
for (VbaModule module : doc.getVbaProject().getModules()) {
System.out.println(module.getSourceCode());
}
Aktualizujte makro VBA v dokumentu aplikace Word
V případě, že potřebujete aktualizovat zdrojový kód nebo jakékoli jiné informace modulu VBA, můžete to udělat bez námahy. Stačí otevřít požadovaný modul VBA z kolekce a upravit jej podle potřeby. Následují kroky k aktualizaci makra VBA v dokumentu aplikace Word.
- Nejprve načtěte dokument aplikace Word pomocí třídy Document.
- Získejte přístup ke kolekci modulů VBA pomocí metody Document.getVbaProject().getModules().
- Získejte odkaz na požadované makro VBA v objektu VbaModule.
- Aktualizujte modul VBA pomocí objektu VbaModule.
Následující ukázka kódu ukazuje, jak aktualizovat makro VBA v dokumentu aplikace Word pomocí jazyka Java.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-words/Aspose.Words-for-Java
// Načíst dokument
Document doc = new Document("document.docm");
// Získejte reference projektu VBA
VbaProject project = doc.getVbaProject();
String newSourceCode = "Test change source code";
// Vyberte modul a nastavte nový zdrojový kód
project.getModules().get(0).setSourceCode(newSourceCode);
// Uložit dokument
doc.save("output.docm");
Klonujte kód VBA z dokumentu aplikace Word
Aspose.Words for Java vám také umožňuje klonovat makra VBA z jednoho dokumentu aplikace Word do druhého. Můžete klonovat buď kompletní projekt VBA, nebo konkrétní modul VBA. Podívejme se, jak zkopírovat VBA v obou případech.
Klonujte projekt VBA z dokumentu aplikace Word
Zde jsou kroky ke klonování kompletního projektu VBA do dokumentu aplikace Word.
- Načtěte zdrojové a cílové dokumenty Word pomocí třídy Document.
- Zavolejte metodu target.setVbaProject(source.getVbaProject().deepClone()) pro klonování projektu VBA ze zdrojového do cílového dokumentu.
- Uložte cílový dokument pomocí metody Document.save().
Následující fragment kódu klonuje projekt VBA z jednoho dokumentu aplikace Word do druhého.
// Načíst zdrojový dokument
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();
// Načíst cílový dokument
Document destDoc = new Document("target.docm");
// Klonujte celý projekt
destDoc.setVbaProject(doc.getVbaProject().deepClone());
// Uložit dokument
destDoc.save("output.docm");
Klonujte modul VBA z dokumentu aplikace Word
Následují kroky ke klonování modulu VBA z jednoho dokumentu aplikace Word do druhého v Java.
- Načtěte zdrojové a cílové dokumenty Word pomocí třídy Document.
- Získejte klon požadovaného modulu VBA v objektu VbaModule pomocí metody Document.getVbaProject().getModules().get(string Name).deepClone().
- Přidejte klonovaný modul VBA do cílového dokumentu pomocí metody target.getVbaProject().getModules().add(VbaModule).
- Uložte cílový dokument pomocí metody Document.save().
Následující fragment kódu ukazuje, jak klonovat modul VBA z jednoho dokumentu aplikace Word do druhého.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-words/Aspose.Words-for-Java
// Načíst zdrojový dokument
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();
// Načíst cílový dokument
Document destDoc = new Document("target.docm");
// Vytvořte nový projekt VBA
destDoc.setVbaProject(new VbaProject());
// Naklonujte jeden modul
VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone();
destDoc.getVbaProject().getModules().add(copyModule);
// Uložit aktualizovaný dokument
destDoc.save("output.docm");
Získejte bezplatnou licenci
Získejte bezplatnou dočasnou licenci k používání knihovny Java Word v plné kapacitě bez jakýchkoli omezení hodnocení.
Zdroje
Níže jsou uvedeny některé užitečné odkazy, které vám pomohou prozkoumat naši knihovnu pro zpracování textu v jazyce Java:
Závěr
Aspose.Words for Java poskytuje výkonné a flexibilní řešení pro vytváření a úpravy kódu VBA v dokumentech aplikace Word pomocí jazyka Java. Ať už chcete vytvářet interaktivní dokumenty od začátku nebo vylepšit stávající pomocí funkcí VBA, tato knihovna usnadňuje práci s dokumenty aplikace Word a automatizaci úloh.
V tomto příspěvku na blogu jsme vám poskytli podrobný návod, jak pracovat s marcos VBA v dokumentech aplikace Word z vaší aplikace Java. Instalací knihovny a dodržováním pokynů můžete snadno programově manipulovat s kódem VBA.