Werk met VBA Makros

Visual Basic vir Toepassings (VBA) vir Microsoft Word is’n eenvoudige maar kragtige programmeertaal wat gebruik kan word om die funksionaliteit uit te brei. Aspose.Words API bied drie klasse om toegang tot die VBA projek bronkode te kry:

  • Die VBAProject klas bied toegang tot die VBA projek inligting
  • Die VBAModulesCollection klas gee terug die versameling van VBA projek modules
  • Die VbaModule klas bied toegang tot die VBA projek module

Skep’n VBA Projek

Aspose.Words API verskaf die VbaProject eienskap om VbaProject in die dokument te kry of te stel.

Die volgende kode voorbeeld demonstreer hoe om’n VBA projek en VBA Module saam met basiese eienskappe bv Naam En Tipe te skep:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document();
// Create a new VBA project.
VbaProject project = new VbaProject();
project.setName("AsposeProject");
doc.setVbaProject(project);
// Create a new module and specify a macro source code.
VbaModule module = new VbaModule();
module.setName("AsposeModule");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");
// Add module to the VBA project.
doc.getVbaProject().getModules().add(module);
doc.save(dataDir + "VbaProject_out.docm");

Lees Makros

Aspose.Words bied ook gebruikers die vermoë om VBA makros te lees.

Die volgende kode voorbeeld toon hoe om VBA Makros lees van die dokument:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "VbaProject_out.docm");
for (VbaModule module : doc.getVbaProject().getModules()) {
System.out.println(module.getSourceCode());
}
doc.save(dataDir + "VbaProject_out.docm");

Verander Makros

Gebruikers kan Aspose.Words gebruik om VBA makros te verander.

Die volgende kode voorbeeld toon hoe om VBA Makros te verander met behulp van die SourceCode eienskap:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "VbaProject_out.docm");
VbaProject project = doc.getVbaProject();
String newSourceCode = "Test change source code";
// Choose a module, and set a new source code.
project.getModules().get(0).setSourceCode(newSourceCode);

Kloon VBA Projek

Met Aspose.Words is dit ook moontlik om VBA projekte te kloon.

Die volgende kode voorbeeld demonstreer hoe om die VBA Projek te kloon met behulp van die Clone eienskap wat’n kopie van die bestaande projek skep:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "VbaProject_out.docm");
VbaProject project = doc.getVbaProject();
Document destDoc = new Document();
// Clone the whole project.
destDoc.setVbaProject(doc.getVbaProject().deepClone());
destDoc.save(dataDir + "output.docm");

Kloon VBA Module

Jy kan ook VBA modules kloon indien nodig.

Die volgende kode voorbeeld demonstreer hoe om die VBA Module te kloon met behulp van die Clone eienskap wat’n kopie van die bestaande projek skep.

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
Document doc = new Document(dataDir + "VbaProject_out.docm");
VbaProject project = doc.getVbaProject();
Document destDoc = new Document();
destDoc.setVbaProject(new VbaProject());
// Clone a single module.
VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone();
destDoc.getVbaProject().getModules().add(copyModule);
destDoc.save(dataDir + "output.docm");