Макросы VBA используются для выполнения повторяющихся задач, создания диаграмм и форм и т. д. в презентациях PowerPoint. При программной работе с презентациями вам может понадобиться манипулировать макросами VBA. В соответствии с этим в этой статье вы узнаете, как добавлять, извлекать или удалять макросы VBA в презентациях PowerPoint с помощью Java.
- Java API для макросов PowerPoint VBA
- Добавление макросов VBA в презентации PowerPoint
- Извлечение макросов VBA из презентаций PowerPoint
- Удалить макросы VBA из презентаций PowerPoint
Java API для макросов PowerPoint VBA
Для работы с макросами VBA в презентациях мы будем использовать Aspose.Slides for Java. Это многофункциональный API, который позволяет вам создавать или управлять презентациями PowerPoint из ваших приложений Java. Вы можете либо скачать API, либо установить его, используя следующие конфигурации Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.7</version>
<classifier>jdk16</classifier>
</dependency>
Добавить макрос VBA в презентации PowerPoint с помощью Java
Ниже приведены шаги по добавлению макроса VBA в презентацию PowerPoint с использованием Java.
- Сначала создайте экземпляр класса Presentation для загрузки презентации PowerPoint.
- Назначьте новый VbaProject с помощью метода Presentation.setVbaProject().
- Добавьте пустой модуль VBA, используя метод Presentation.getVbaProject().getModules().addEmptyModule(String).
- Получить ссылку на добавленный модуль в объект IVbaModule.
- Добавьте исходный код в модуль VBA с помощью метода IVbaModule.setSourceCode().
- Создайте ссылки на Microsoft Office и добавьте их в коллекцию Presentation.getVbaProject().getReferences().
- Наконец, сохраните файл презентации, используя метод Presentation.save(String, SaveFormat.Pptm).
В следующем примере кода показано, как добавить макрос VBA в презентацию PowerPoint с помощью Java.
// Создать презентацию
Presentation pres = new Presentation();
try {
// Создать новый проект VBA
pres.setVbaProject(new VbaProject());
// Добавить пустой модуль в проект VBA
IVbaModule module = pres.getVbaProject().getModules().addEmptyModule("Module");
// Установить исходный код модуля
module.setSourceCode("Sub Test(oShape As Shape)MsgBox Test End Sub");
// Создать ссылку на<stdole>
VbaReferenceOleTypeLib stdoleReference = new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Создать ссылку на Office
VbaReferenceOleTypeLib officeReference = new VbaReferenceOleTypeLib("Office",
"*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library");
// Добавьте ссылки на проект VBA
pres.getVbaProject().getReferences().add(stdoleReference);
pres.getVbaProject().getReferences().add(officeReference);
pres.save("test.pptm", SaveFormat.Pptm);
} finally {
if (pres != null) pres.dispose();
}
Извлечение макросов VBA из PowerPoint с помощью Java
Ниже приведены шаги для извлечения макросов VBA из презентации PowerPoint с использованием Java.
- Сначала загрузите презентацию PowerPoint с поддержкой макросов, используя класс Presentation.
- Затем проверьте, возвращает ли Presentation.getVbaProject() значение null.
- Переберите каждый IVbaModule в коллекции, используя Presentation.getVbaProject().getModules().
- Наконец, извлеките исходный код с помощью метода IVbaModule.getSourceCode().
В следующем примере кода показано, как извлечь макросы PowerPoint VBA.
// Загрузить презентацию
Presentation pres = new Presentation("VBA.pptm");
try {
if (pres.getVbaProject() != null) // check if Presentation contains VBA Project
{
// Перебрать модули VBA
for (IVbaModule module : pres.getVbaProject().getModules())
{
System.out.println(module.getName());
System.out.println(module.getSourceCode());
}
}
} finally {
if (pres != null) pres.dispose();
}
Удалить макросы PowerPoint VBA
Вы также можете удалить конкретный макрос VBA из PowerPoint, используя его индекс в проекте VBA. Ниже приведены шаги для выполнения этой операции.
- Сначала загрузите презентацию PowerPoint с поддержкой макросов, используя класс Presentation.
- Затем удалите модуль VBA по индексу, используя метод Presentation.getVbaProject().getModules().remove(IVbaModule).
- Наконец, сохраните обновленную презентацию с помощью метода Presentation.save(String, SaveFormat.Pptm).
В следующем примере кода показано, как удалить макрос PowerPoint VBA.
// Загрузить презентацию
Presentation pres = new Presentation("VBA.pptm");
try {
// Получите доступ к модулю Vba и удалите
pres.getVbaProject().getModules().remove(pres.getVbaProject().getModules().get_Item(0));
// Сохранить презентацию
pres.save("test.pptm", SaveFormat.Pptm);
} finally {
if (pres != null) pres.dispose();
}
Получите бесплатную лицензию API
Вы можете использовать Aspose.Slides for Java без ограничений на пробную версию, запросив временную лицензию.
Вывод
В этой статье вы узнали, как работать с макросами PowerPoint VBA с помощью Java. В частности, вы узнали, как добавлять, извлекать и удалять макросы VBA в презентациях PowerPoint. Чтобы изучить другие функции API, вы можете обратиться к документации. Кроме того, вы можете свободно сообщать нам о своих вопросах через наш форум.
Смотрите также
Совет: вы можете попробовать Aspose онлайн-инструмент для удаления макросов VBA.