adicionar remover powerpoint vba C#

As macros VBA são usadas para automatizar diferentes funcionalidades em apresentações do PowerPoint. Por exemplo, você pode usar o VBA para executar tarefas repetitivas, gerar gráficos e formulários, etc. Neste artigo, você aprenderá a trabalhar com macros VBA do PowerPoint programaticamente. Particularmente, o artigo abordará como adicionar, extrair ou remover macros VBA em apresentações do PowerPoint usando C#.

API C# para macros VBA do PowerPoint

Aspose.Slides for .NET é uma API rica em recursos que permite criar, editar e converter apresentações do PowerPoint usando C#. Além disso, a API permite que você trabalhe com macros VBA sem problemas. Para usar a API, você pode baixar sua DLL ou instalá-la usando NuGet.

PM> Install-Package Aspose.Slides.NET

Adicionar macro VBA em apresentações do PowerPoint usando C#

A seguir estão as etapas para adicionar uma macro VBA em uma apresentação do PowerPoint usando C#.

O exemplo de código a seguir mostra como adicionar macro VBA em uma apresentação do PowerPoint usando C#.

// Carregar apresentação
using (Presentation presentation = new Presentation("presentation.pptm"))
{
    // Criar novo projeto VBA
    presentation.VbaProject = new VbaProject();

    // Adicionar módulo vazio ao projeto VBA
    IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
  
    // Definir o código-fonte do módulo
    module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";

    // Criar referência para<stdole>
    VbaReferenceOleTypeLib stdoleReference =
        new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");

    // Criar referência ao 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");

    // Adicionar referências ao projeto VBA
    presentation.VbaProject.References.Add(stdoleReference);
    presentation.VbaProject.References.Add(officeReference);
    
    // Salvar apresentação
    presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}

Extraia macros VBA do PowerPoint usando C#

Aspose.Slides for .NET também permite extrair módulos VBA de projetos VBA em apresentações do PowerPoint. A seguir estão as etapas para realizar esta operação.

O exemplo de código a seguir mostra como extrair macros VBA do PowerPoint usando C#.

// Carregar apresentação
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);
		}
	}
}

Remover macros VBA do PowerPoint

Você também pode remover uma macro VBA específica de uma apresentação do PowerPoint. Para isso, você acessará e removerá o módulo VBA pelo seu índice do projeto VBA. A seguir estão as etapas para realizar esta operação.

O exemplo de código a seguir mostra como remover uma macro VBA do PowerPoint.

// Carregar apresentação
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
    // Remova o módulo VBA
    presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);

    // Salvar apresentação
    presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}

Obtenha uma licença de API gratuita

Você pode experimentar o Aspose.Slides for .NET sem limitações de avaliação solicitando uma licença temporária.

Conclusão

Neste artigo, você aprendeu a trabalhar com macros VBA do PowerPoint usando C#. Particularmente, você viu como adicionar, extrair e remover macros VBA em apresentações do PowerPoint. Para explorar outras funcionalidades da API, você pode consultar a documentação. Além disso, sinta-se à vontade para nos informar sobre suas dúvidas por meio do nosso fórum.

Veja também

Dica: você pode conferir o Aspose aplicativo da web de remoção de macro GRATUITO.