Создать обновление VBA в Word Java

Часто документы Word включают код Visual Basic для приложений (VBA) для автоматизации задач и расширения функциональности документа. Если вы разработчик Java, у вас может возникнуть вопрос, как взаимодействовать и изменять код VBA в документах Word. Итак, в этой записи блога мы рассмотрим, как можно создавать и изменять код VBA в документах Word в приложении Java.

Библиотека Java для работы с VBA в документах Word

Aspose.Words for Java — это библиотека, которая позволяет создавать, манипулировать и отображать документы Microsoft Word без необходимости установки Microsoft Word. Он предоставляет широкий спектр функций для работы с документами Word, включая чтение, запись и изменение их содержимого. Кроме того, библиотека позволяет работать с кодом VBA, встроенным в документы Word, что может быть чрезвычайно полезно для автоматизации задач и добавления интерактивности в ваши документы.

Вы можете скачать библиотеку или установить ее, используя следующую конфигурацию maven.

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

Создать макрос VBA в документе Word на Java

Aspose.Words предоставляет следующие классы для работы с кодом VBA в документах Word:

Давайте посмотрим на шаги, необходимые для создания макроса VBA в документе Word.

  • Сначала загрузите документ Word или создайте новый, используя класс Document.
  • Затем создайте объект класса VbaProject, задайте его имя и присвойте его документу с помощью метода setVbaProject().
  • Создайте объект класса VbaModule и задайте его имя, тип и исходный код.
  • Добавьте модуль в проект с помощью метода Document.getVbaProject().getModules().add(VbaModule).
  • Наконец, сохраните документ Word, используя метод Document.save().

В следующем фрагменте кода показано, как создать модуль VBA в документе Word на Java.

// Полные примеры и файлы данных можно найти по адресу https://github.com/aspose-words/Aspose.Words-for-Java.
// Загрузить документ
Document doc = new Document("document.docm");

// Создайте новый проект VBA.
VbaProject project = new VbaProject();
project.setName("AsposeProject");
doc.setVbaProject(project);

// Создайте новый модуль и укажите исходный код макроса.
VbaModule module = new VbaModule();
module.setName("AsposeModule");
module.setType(VbaModuleType.PROCEDURAL_MODULE);
module.setSourceCode("New source code");

// Добавить модуль в проект VBA
doc.getVbaProject().getModules().add(module);

// Сохранить документ
doc.save("updated.docm");

Чтение макроса VBA из документа Word

Вы можете получить доступ к существующим макросам VBA и прочитать их из документа Word. Для этого вам необходимо загрузить документ и получить доступ к коллекции модулей в проекте VBA. Ниже приведены инструкции по чтению всех макросов VBA в документе Word.

  • Загрузите документ Word, используя класс Document.
  • Получите доступ к коллекции модулей VBA с помощью метода Document.getVbaProject().getModules().
  • Используйте класс VbaModule для чтения каждого модуля VBA в проекте.

В следующем фрагменте кода показано, как читать модули VBA из документа Word на Java.

// Загрузить документ
Document doc = new Document("document.docm");

// Прочтите исходный код VBA
for (VbaModule module : doc.getVbaProject().getModules()) {
    System.out.println(module.getSourceCode());
}

Обновите макрос VBA в документе Word

Если вам нужно обновить исходный код или любую другую информацию модуля VBA, вы можете сделать это без особых усилий. Просто получите доступ к нужному модулю VBA из коллекции и измените его по мере необходимости. Ниже приведены шаги по обновлению макроса VBA в документе Word.

  • Сначала загрузите документ Word, используя класс Document.
  • Получите доступ к коллекции модулей VBA с помощью метода Document.getVbaProject().getModules().
  • Получите ссылку на нужный макрос VBA в объекте VbaModule.
  • Обновите модуль VBA, используя объект VbaModule.

В следующем примере кода показано, как обновить макрос VBA в документе Word с помощью Java.

// Полные примеры и файлы данных можно найти по адресу https://github.com/aspose-words/Aspose.Words-for-Java.
// Загрузить документ
Document doc = new Document("document.docm");

// Получить ссылку на проект VBA
VbaProject project = doc.getVbaProject();

String newSourceCode = "Test change source code";

// Выберите модуль и установите новый исходный код
project.getModules().get(0).setSourceCode(newSourceCode);

// Сохранить документ
doc.save("output.docm");

Клонировать код VBA из документа Word

Aspose.Words for Java также позволяет клонировать макросы VBA из одного документа Word в другой. Вы можете клонировать либо весь проект VBA, либо конкретный модуль VBA. Давайте посмотрим, как скопировать VBA в обоих случаях.

Клонировать проект VBA из документа Word

Ниже приведены шаги по клонированию полного проекта VBA в документ Word.

  • Загрузите исходные и целевые документы Word, используя класс Document.
  • Вызовите метод target.setVbaProject(source.getVbaProject().deepClone()) для клонирования проекта VBA из исходного документа в целевой документ.
  • Сохраните целевой документ, используя метод Document.save().

Следующий фрагмент кода клонирует проект VBA из одного документа Word в другой.

// Загрузить исходный документ
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// Загрузить целевой документ
Document destDoc = new Document("target.docm");

// Клонировать весь проект
destDoc.setVbaProject(doc.getVbaProject().deepClone());

// Сохранить документ
destDoc.save("output.docm");

Клонировать модуль VBA из документа Word

Ниже приведены шаги по клонированию модуля VBA из одного документа Word в другой на Java.

  • Загрузите исходные и целевые документы Word, используя класс Document.
  • Получите клон нужного модуля VBA в объекте VbaModule, используя метод Document.getVbaProject().getModules().get(string Name).deepClone().
  • Добавьте клонированный модуль VBA в целевой документ с помощью метода target.getVbaProject().getModules().add(VbaModule).
  • Сохраните целевой документ, используя метод Document.save().

В следующем фрагменте кода показано, как клонировать модуль VBA из одного документа Word в другой.

// Полные примеры и файлы данных можно найти по адресу https://github.com/aspose-words/Aspose.Words-for-Java.

// Загрузить исходный документ
Document doc = new Document("source.docm");
VbaProject project = doc.getVbaProject();

// Загрузить целевой документ
Document destDoc = new Document("target.docm");

// Создать новый проект VBA
destDoc.setVbaProject(new VbaProject());

// Клонировать один модуль
VbaModule copyModule = doc.getVbaProject().getModules().get("Module1").deepClone();
destDoc.getVbaProject().getModules().add(copyModule);

// Сохранить обновленный документ
destDoc.save("output.docm");

Получите бесплатную лицензию

Получите бесплатную временную лицензию, чтобы использовать библиотеку Java Word на полную мощность без каких-либо ограничений оценки.

Ресурсы

Ниже приведены несколько полезных ссылок для изучения нашей библиотеки обработки текста Java:

Заключение

Aspose.Words for Java предоставляет мощное и гибкое решение для создания и изменения кода VBA в документах Word с использованием Java. Хотите ли вы создавать интерактивные документы с нуля или расширять существующие с помощью функций VBA, эта библиотека упрощает работу с документами Word и автоматизирует задачи.

В этой записи блога мы предоставили вам пошаговое руководство по работе с метками VBA в документах Word из вашего Java-приложения. Установив библиотеку и следуя рекомендациям, вы сможете легко программно манипулировать кодом VBA.

Смотрите также