Часто документи Word містять код Visual Basic for Applications (VBA) для автоматизації завдань і покращення функціональності документа. Якщо ви розробник Java, ви можете запитати, як взаємодіяти з кодом VBA та змінювати його в документах Word. Тож у цій публікації блогу ми розглянемо, як можна створювати та змінювати код VBA в документах Word у програмі Java.
- Бібліотека Java для роботи з VBA в документах Word
- Створіть макрос VBA в документі Word
- Читання макросу VBA з документа Word
- Оновіть макрос VBA в документі Word
- Клонуйте код VBA з документа Word
Бібліотека 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:
- VbaProject to access VBA project information.
- VbaModulesCollection to access the collection of VBA modules in a project.
- VbaModule to access a single module in the VBA project.
Давайте розглянемо кроки, необхідні для створення макросу 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 програмним шляхом.