Vytvořte aktualizaci VBA v aplikaci Word Java

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

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:

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.

Viz také