добавить удалить powerpoint vba Java

Макросы VBA используются для выполнения повторяющихся задач, создания диаграмм и форм и т. д. в презентациях PowerPoint. При программной работе с презентациями вам может понадобиться манипулировать макросами VBA. В соответствии с этим в этой статье вы узнаете, как добавлять, извлекать или удалять макросы VBA в презентациях PowerPoint с помощью Java.

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.

В следующем примере кода показано, как добавить макрос 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 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 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.