Створіть оновлення VBA у Word Java

Часто документи Word містять код Visual Basic for Applications (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 програмним шляхом.

Дивись також