VBA-makron används för att utföra repetitiva uppgifter, generera diagram och formulär, etc. i PowerPoint-presentationer. När du arbetar med presentationerna programmatiskt kan du behöva manipulera VBA-makron. I enlighet med det kommer du i den här artikeln att lära dig hur du lägger till, extraherar eller tar bort VBA-makron i PowerPoint-presentationer med Java.
- Java API för PowerPoint VBA-makron
- Lägg till VBA-makron i PowerPoint-presentationer
- Extrahera VBA-makron från PowerPoint-presentationer
- Ta bort VBA-makron från PowerPoint-presentationer
Java API för PowerPoint VBA-makron
För att kunna arbeta med VBA-makron i presentationer kommer vi att använda Aspose.Slides for Java. Det är ett funktionsrikt API som låter dig skapa eller manipulera PowerPoint-presentationer från dina Java-applikationer. Du kan antingen ladda ner API:t eller installera det med hjälp av följande Maven-konfigurationer.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
Lägg till VBA-makro i PowerPoint-presentationer med Java
Följande är stegen för att lägga till ett VBA-makro i en PowerPoint-presentation med Java.
- Skapa först en instans av klassen Presentation för att ladda PowerPoint-presentationen.
- Tilldela ett nytt VbaProject med metoden Presentation.setVbaProject().
- Lägg till en tom VBA-modul med metoden Presentation.getVbaProject().getModules().addEmptyModule(String).
- Hämta referensen för den tillagda modulen till ett IVbaModule-objekt.
- Lägg till källkod till VBA-modulen med metoden IVbaModule.setSourceCode().
- Skapa referenser till Microsoft Office och lägg till dem i samlingen Presentation.getVbaProject().getReferences().
- Spara slutligen presentationsfilen med metoden Presentation.save(String, SaveFormat.Pptm).
Följande kodexempel visar hur man lägger till VBA-makro i en PowerPoint-presentation med Java.
// Instant presentation
Presentation pres = new Presentation();
try {
// Skapa nytt VBA-projekt
pres.setVbaProject(new VbaProject());
// Lägg till tom modul till VBA-projektet
IVbaModule module = pres.getVbaProject().getModules().addEmptyModule("Module");
// Ställ in modulens källkod
module.setSourceCode("Sub Test(oShape As Shape)MsgBox Test End Sub");
// Skapa referens till<stdole>
VbaReferenceOleTypeLib stdoleReference = new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Skapa referens till Office
VbaReferenceOleTypeLib officeReference = new VbaReferenceOleTypeLib("Office",
"*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library");
// Lägg till referenser till VBA-projektet
pres.getVbaProject().getReferences().add(stdoleReference);
pres.getVbaProject().getReferences().add(officeReference);
pres.save("test.pptm", SaveFormat.Pptm);
} finally {
if (pres != null) pres.dispose();
}
Extrahera VBA-makron från PowerPoint med Java
Följande är stegen för att extrahera VBA-makron från en PowerPoint-presentation med Java.
- Ladda först den makroaktiverade PowerPoint-presentationen med klassen Presentation.
- Kontrollera sedan om Presentation.getVbaProject() returnerar null.
- Gå igenom varje IVbaModule i samlingen med Presentation.getVbaProject().getModules().
- Extrahera slutligen källkoden med metoden IVbaModule.getSourceCode().
Följande kodexempel visar hur man extraherar PowerPoint VBA-makron.
// Ladda presentation
Presentation pres = new Presentation("VBA.pptm");
try {
if (pres.getVbaProject() != null) // check if Presentation contains VBA Project
{
// Gå igenom VBA-modulerna
for (IVbaModule module : pres.getVbaProject().getModules())
{
System.out.println(module.getName());
System.out.println(module.getSourceCode());
}
}
} finally {
if (pres != null) pres.dispose();
}
Ta bort PowerPoint VBA-makron
Du kan också ta bort ett visst VBA-makro från en PowerPoint med hjälp av dess index i VBA-projektet. Följande är stegen för att utföra denna operation.
- Ladda först den makroaktiverade PowerPoint-presentationen med klassen Presentation.
- Ta sedan bort VBA-modulen genom att indexera med metoden Presentation.getVbaProject().getModules().remove(IVbaModule).
- Slutligen, spara den uppdaterade presentationen med metoden Presentation.save(String, SaveFormat.Pptm).
Följande kodexempel visar hur du tar bort ett PowerPoint VBA-makro.
// Ladda presentation
Presentation pres = new Presentation("VBA.pptm");
try {
// Gå till Vba-modulen och ta bort den
pres.getVbaProject().getModules().remove(pres.getVbaProject().getModules().get_Item(0));
// Spara presentation
pres.save("test.pptm", SaveFormat.Pptm);
} finally {
if (pres != null) pres.dispose();
}
Skaffa en gratis API-licens
Du kan använda Aspose.Slides för Java utan utvärderingsbegränsningar genom att begära en tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du arbetar med PowerPoint VBA-makron med Java. Speciellt har du sett hur man lägger till, extraherar och tar bort VBA-makron i PowerPoint-presentationer. För att utforska andra funktioner i API:t kan du konsultera dokumentationen. Dessutom kan du gärna meddela oss om dina frågor via vårt forum.
Se även
Tips: Du kanske vill prova Aspose online VBA-makroborttagningsverktyg.