Skapa Update VBA i Word Java

Ofta innehåller Word-dokument Visual Basic for Applications (VBA)-kod för att automatisera uppgifter och förbättra dokumentfunktionaliteten. Om du är en Java-utvecklare kanske du undrar hur du interagerar med och ändrar VBA-kod i Word-dokument. Så i det här blogginlägget kommer vi att utforska hur du kan skapa och ändra VBA-kod i Word-dokument i en Java-applikation.

Java-bibliotek för att arbeta med VBA i Word-dokument

Aspose.Words for Java är ett bibliotek som låter dig skapa, manipulera och rendera Microsoft Word-dokument utan att behöva ha Microsoft Word installerat. Det ger ett brett utbud av funktioner för att arbeta med Word-dokument, inklusive att läsa, skriva och ändra deras innehåll. Dessutom låter biblioteket dig arbeta med VBA-kod inbäddad i Word-dokument, vilket kan vara extremt användbart för att automatisera uppgifter och lägga till interaktivitet till dina dokument.

Du kan ladda ner biblioteket eller installera det med hjälp av följande maven-konfiguration.

<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>

Skapa VBA-makro i ett Word-dokument i Java

Aspose.Words tillhandahåller följande klasser för att arbeta med VBA-kod i Word-dokument:

Låt oss ta en titt på stegen som krävs för att skapa ett VBA-makro i ett Word-dokument.

  • Ladda först Word-dokumentet eller skapa ett nytt med klassen Document.
  • Skapa sedan ett objekt av klassen VbaProject, ange dess namn och tilldela det till dokumentet med metoden setVbaProject().
  • Skapa ett objekt av klassen VbaModule och ange dess namn, typ och källkod.
  • Lägg till modul till projektet med metoden Document.getVbaProject().getModules().add(VbaModule).
  • Slutligen sparar du Word-dokumentet med metoden Document.save().

Följande kodsnutt visar hur man skapar en VBA-modul i ett Word-dokument i Java.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-words/Aspose.Words-for-Java
// Ladda dokument
Document doc = new Document("document.docm");

// Skapa ett nytt VBA-projekt
VbaProject project = new VbaProject();
project.setName("AsposeProject");
doc.setVbaProject(project);

// Skapa en ny modul och ange en makrokällkod
VbaModule module = new VbaModule();
module.setName("AsposeModule");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");

// Lägg till modul till VBA-projektet
doc.getVbaProject().getModules().add(module);

// Spara dokument
doc.save("updated.docm");

Läs ett VBA-makro från ett Word-dokument

Du kan komma åt och läsa befintliga VBA-makron från ett Word-dokument. För detta behöver du ladda dokumentet och komma åt modulernas samling i VBA-projektet. Nedan följer stegen för att läsa alla VBA-makron i ett Word-dokument.

  • Ladda Word-dokument med dokumentklassen.
  • Få tillgång till samlingen av VBA-moduler med metoden Document.getVbaProject().getModules().
  • Använd VbaModule-klassen för att läsa varje VBA-modul i projektet.

Följande kodsnutt visar hur man läser VBA-moduler från ett Word-dokument i Java.

// Ladda dokument
Document doc = new Document("document.docm");

// Läs VBA-källkoden
for (VbaModule module : doc.getVbaProject().getModules()) {
    System.out.println(module.getSourceCode());
}

Uppdatera ett VBA-makro i ett Word-dokument

Om du behöver uppdatera källkoden eller annan information för en VBA-modul kan du göra det utan ansträngning. Gå bara till önskad VBA-modul från samlingen och ändra den efter behov. Följande är stegen för att uppdatera ett VBA-makro i ett Word-dokument.

  • Ladda först Word-dokument med Document class.
  • Få tillgång till samlingen av VBA-moduler med metoden Document.getVbaProject().getModules().
  • Hämta referensen till det önskade VBA-makrot i ett VbaModule-objekt.
  • Uppdatera VBA-modulen med VbaModule-objektet.

Följande kodexempel visar hur du uppdaterar ett VBA-makro i ett Word-dokument med Java.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-words/Aspose.Words-for-Java
// Ladda dokument
Document doc = new Document("document.docm");

// Få referens till VBA-projekt
VbaProject project = doc.getVbaProject();

String newSourceCode = "Test change source code";

// Välj en modul och ställ in en ny källkod
project.getModules().get(0).setSourceCode(newSourceCode);

// Spara dokument
doc.save("output.docm");

Klona VBA-kod från ett Word-dokument

Aspose.Words för Java låter dig också klona VBA-makron från ett Word-dokument till ett annat. Du kan klona antingen ett komplett VBA-projekt eller en specifik VBA-modul. Låt oss ta en titt på hur man kopierar VBA i båda fallen.

Klona VBA-projekt från ett Word-dokument

Här är stegen för att klona ett komplett VBA-projekt i ett Word-dokument.

  • Ladda käll- och måldokument i Word med dokumentklassen.
  • Anrop target.setVbaProject(source.getVbaProject().deepClone())-metoden för att klona VBA-projekt från källa till måldokument.
  • Spara måldokumentet med metoden Document.save().

Följande kodsnutt klonar VBA-projektet från ett Word-dokument till ett annat.

// Ladda källdokument
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// Ladda måldokument
Document destDoc = new Document("target.docm");

// Klona hela projektet
destDoc.setVbaProject(doc.getVbaProject().deepClone());

// Spara dokument
destDoc.save("output.docm");

Klona VBA-modulen från ett Word-dokument

Följande är stegen till en klon VBA-modul från ett Word-dokument till ett annat i Java.

  • Ladda käll- och måldokument i Word med dokumentklassen.
  • Hämta klon av önskad VBA-modul i ett VbaModule-objekt med metoden Document.getVbaProject().getModules().get(string Name).deepClone().
  • Lägg till klonad VBA-modul i måldokumentet med metoden target.getVbaProject().getModules().add(VbaModule).
  • Spara måldokumentet med metoden Document.save().

Följande kodsnutt visar hur man klona en VBA-modul från ett Word-dokument till ett annat.

// För fullständiga exempel och datafiler, gå till https://github.com/aspose-words/Aspose.Words-for-Java

// Ladda källdokument
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// Ladda måldokument
Document destDoc = new Document("target.docm");

// Skapa nytt VBA-projekt
destDoc.setVbaProject(new VbaProject());

// Klona en enda modul
VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone();
destDoc.getVbaProject().getModules().add(copyModule);

// Spara uppdaterat dokument
destDoc.save("output.docm");

Skaffa en gratis licens

Skaffa en gratis tillfällig licens för att använda Java Word-biblioteket till sin fulla kapacitet utan att ha några utvärderingsbegränsningar.

Resurser

Nedan finns några användbara länkar för att utforska vårt Java-ordbehandlingsbibliotek:

Slutsats

Aspose.Words för Java tillhandahåller en kraftfull och flexibel lösning för att skapa och ändra VBA-kod i Word-dokument med Java. Oavsett om du vill skapa interaktiva dokument från grunden eller förbättra befintliga med VBA-funktionalitet, gör detta bibliotek det enkelt att arbeta med Word-dokument och automatisera uppgifter.

I det här blogginlägget har vi gett dig en steg-för-steg-guide om hur du arbetar med VBA marcos i Word-dokument från din Java-applikation. Genom att installera biblioteket och följa riktlinjerna kan du enkelt manipulera VBA-koden programmatiskt.

Se även