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
- Adicionar macros VBA em apresentações do PowerPoint usando C#
- Extraia macros VBA de apresentações do PowerPoint
- Remover macros VBA de apresentações do PowerPoint
- Obtenha uma licença de API gratuita
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#.
- Primeiro, crie uma instância da classe Apresentação para carregar a apresentação do PowerPoint.
- Atribua um novo VbaProject à propriedade Presentation.VbaProject.
- Adicione um módulo VBA vazio usando o método Presentation.VbaProject.Modules.AddEmptyModule(string).
- Obtenha a referência do módulo adicionado em um objeto IVbaModule.
- Adicione o código-fonte ao módulo VBA usando a propriedade IVbaModule.SourceCode.
- Crie referências ao Microsoft Office e adicione-as à coleção Presentation.VbaProject.References.
- Finalmente, salve o arquivo de apresentação usando o método Presentation.Save(string, SaveFormat.Pptm).
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.
- Primeiro, carregue a apresentação do PowerPoint habilitada para macro usando a classe Apresentação.
- Verifique se a propriedade Presentation.VbaProject não é nula.
- Faça um loop em cada IVbaModule na coleção Presentation.VbaProject.Modules.
- Por fim, extraia o código-fonte usando a propriedade IVbaModule.SourceCode.
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.
- Primeiro, carregue a apresentação do PowerPoint habilitada para macro usando a classe Apresentação.
- Remova o módulo VBA por índice usando o método Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0]).
- Finalmente, salve a apresentação atualizada usando o método Presentation.Save(string, SaveFormat.Pptm).
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.