Робота з VBA Macros

Visual Basic для додатків (VBA) Microsoft Word - проста, але потужна мова програмування, яка може бути використана для розширення функціональності. Aspose.Words API надає три класи для доступу до коду VBA:

  • У VBAProject Клас надає доступ до інформації про проект ВБА
  • У VBAModulesCollection Клас повертає колекцію модулів проекту ВБА
  • У VbaModule Клас надає доступ до модуля проекту VBA

Створення проекту VBA

Aspose.Words API забезпечує VbaProject майно, щоб отримати або встановити VbaProject у документі.

Приклад коду показує, як створити проект VBA та модуль VBA разом з базовими властивостями, наприклад, Ім’я та тип:

// 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");

Читати Macros

Aspose.Words також надає користувачам можливість читати макроси VBA.

Приклад коду показує, як читати VBA Macros з документа:

// 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");

Модифікувати Macros

Використання Aspose.Words, користувачі можуть змінювати макроси VBA.

Приклад коду показує, як змінити VBA Macros за допомогою SourceCode майно:

// 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);

Клон ВБА Проекти

З Aspose.Words Також можна клонувати проекти ВБА.

Приклад коду показує, як клонувати проект ВБА за допомогою програми Clone майно, що створює копію існуючого проекту:

// 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");

Клон ВБА Модуль

Ви також можете налаштувати модулі VBA, якщо це необхідно.

Приклад коду показує, як налаштувати модуль VBA за допомогою модуля VBA Clone майно, яке створює копію існуючого проекту

// 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");