
Макросы VBA используются для автоматизации различных функций в презентациях PowerPoint. Например, вы можете использовать VBA для выполнения повторяющихся задач, создания диаграмм и форм и т. д. В этой статье вы узнаете, как программно работать с макросами PowerPoint VBA. В частности, в статье будет рассказано, как добавлять, извлекать или удалять макросы VBA в презентациях PowerPoint с помощью C#.
- C# API для макросов PowerPoint VBA
- Добавление макросов VBA в презентации PowerPoint с помощью C#
- Извлечение макросов VBA из презентаций PowerPoint
- Удалить макросы VBA из презентаций PowerPoint
- Получите бесплатную лицензию API
C# API для макросов PowerPoint VBA
Aspose.Slides for .NET — это многофункциональный API, который позволяет создавать, редактировать и преобразовывать презентации PowerPoint с помощью C#. Кроме того, API позволяет беспрепятственно работать с макросами VBA. Чтобы использовать API, вы можете либо скачать его DLL, либо установить его с помощью NuGet.
PM> Install-Package Aspose.Slides.NET
Добавить макрос VBA в презентации PowerPoint с помощью C#
Ниже приведены шаги по добавлению макроса VBA в презентацию PowerPoint с помощью C#.
- Сначала создайте экземпляр класса Presentation для загрузки презентации PowerPoint.
- Назначьте новое свойство VbaProject свойству Presentation.VbaProject.
- Добавьте пустой модуль VBA, используя метод Presentation.VbaProject.Modules.AddEmptyModule(string).
- Получить ссылку на добавленный модуль в объект IVbaModule.
- Добавьте исходный код в модуль VBA, используя свойство IVbaModule.SourceCode.
- Создайте ссылки на Microsoft Office и добавьте их в коллекцию Presentation.VbaProject.References.
- Наконец, сохраните файл презентации, используя метод Presentation.Save(string, SaveFormat.Pptm).
В следующем примере кода показано, как добавить макрос VBA в презентацию PowerPoint с помощью C#.
// Загрузить презентацию
using (Presentation presentation = new Presentation("presentation.pptm"))
{
// Создать новый проект VBA
presentation.VbaProject = new VbaProject();
// Добавить пустой модуль в проект VBA
IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
// Установить исходный код модуля
module.SourceCode = @"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
presentation.VbaProject.References.Add(stdoleReference);
presentation.VbaProject.References.Add(officeReference);
// Сохранить презентацию
presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}
Извлечение макросов VBA из PowerPoint с помощью C#
Aspose.Slides for .NET также позволяет извлекать модули VBA из проектов VBA в презентации PowerPoint. Ниже приведены шаги для выполнения этой операции.
- Сначала загрузите презентацию PowerPoint с поддержкой макросов, используя класс Presentation.
- Убедитесь, что свойство Presentation.VbaProject не равно null.
- Прокрутите каждый IVbaModule в коллекции Presentation.VbaProject.Modules.
- Наконец, извлеките исходный код, используя свойство IVbaModule.SourceCode.
В следующем примере кода показано, как извлечь макросы PowerPoint VBA с помощью C#.
// Загрузить презентацию
using (Presentation pres = new Presentation("presentation.pptm"))
{
if (pres.VbaProject != null) // check if Presentation contains VBA Project
{
foreach (IVbaModule module in pres.VbaProject.Modules)
{
Console.WriteLine(module.Name);
Console.WriteLine(module.SourceCode);
}
}
}
Удалить макросы PowerPoint VBA
Вы также можете удалить конкретный макрос VBA из презентации PowerPoint. Для этого вы получите доступ и удалите модуль VBA по его индексу из проекта VBA. Ниже приведены шаги для выполнения этой операции.
- Сначала загрузите презентацию PowerPoint с поддержкой макросов, используя класс Presentation.
- Удалите модуль VBA по индексу, используя метод Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0]).
- Наконец, сохраните обновленную презентацию с помощью метода Presentation.Save(string, SaveFormat.Pptm).
В следующем примере кода показано, как удалить макрос PowerPoint VBA.
// Загрузить презентацию
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
// Удалите модуль VBA
presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);
// Сохранить презентацию
presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}
Получите бесплатную лицензию API
Вы можете попробовать Aspose.Slides для .NET без ограничений пробной версии, запросив временную лицензию.
Вывод
В этой статье вы узнали, как работать с макросами PowerPoint VBA с помощью C#. В частности, вы узнали, как добавлять, извлекать и удалять макросы VBA в презентациях PowerPoint. Чтобы изучить другие функции API, вы можете обратиться к документации. Кроме того, вы можете свободно сообщать нам о своих вопросах через наш форум.
Смотрите также
Совет: вы можете попробовать Aspose БЕСПЛАТНОЕ веб-приложение для удаления макросов.