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

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

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#.

В следующем примере кода показано, как добавить макрос 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 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 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 БЕСПЛАТНОЕ веб-приложение для удаления макросов.