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
- Skapa ett VBA-makro i ett Word-dokument
- Läs ett VBA-makro från ett Word-dokument
- Uppdatera ett VBA-makro i ett Word-dokument
- Klona VBA-kod från ett Word-dokument
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:
- 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.
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.