PPTX em Python

As macros VBA permitem automatizar vários tipos de operações em apresentações do PowerPoint. Você pode usá-los para gerar gráficos, reexibir os objetos ocultos e realizar diferentes tarefas repetitivas nas apresentações. Ao trabalhar com apresentações do PowerPoint a partir de seus aplicativos Python, pode ser necessário manipular macros VBA. Portanto, neste artigo, você aprenderá como adicionar, extrair e remover macros VBA no PowerPoint usando Python.

Biblioteca Python para trabalhar com macros VBA no PowerPoint

Para trabalhar com macros VBA em apresentações do PowerPoint, usaremos Aspose.Slides for Python. A biblioteca fornece um rico conjunto de recursos para criar, editar e converter apresentações do PowerPoint. Você pode instalar a biblioteca de PyPI usando o seguinte comando.

> pip install aspose.slides

Adicionar macro VBA em apresentações do PowerPoint em Python

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

  • Primeiro, use a classe Apresentação para carregar ou criar a apresentação do PowerPoint.
  • Em seguida, crie um novo VbaProject e atribua-o à propriedade Presentation.vbaproject.
  • Depois disso, adicione um módulo VBA vazio usando o método Presentation.vbaproject.modules.addemptymodule(string).
  • Adicione o código-fonte ao módulo VBA usando a propriedade IVbaModule.sourcecode.
  • Associe as referências 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 Python.

# Criar ou carregar uma apresentação
with slides.Presentation() as presentation:
    # Criar novo projeto VBA
    presentation.vba_project = slides.vba.VbaProject()

    # Adicionar módulo vazio ao projeto VBA
    module = presentation.vba_project.modules.add_empty_module("Module")

    # Definir código-fonte do módulo
    module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"

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

    # Criar referência ao Office
    officeReference =slides.vba.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.vba_project.references.add(stdoleReference)
    presentation.vba_project.references.add(officeReference)

    # Salvar apresentação
    presentation.save("add-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Extraia macros VBA do PowerPoint em Python

Você também pode acessar macros VBA adicionadas a uma apresentação do PowerPoint e extrair suas informações. As etapas a seguir demonstram como extrair macros VBA e imprimir seu nome e código-fonte em Python.

  • Primeiro, carregue a apresentação habilitada para macro usando a classe Presentation.
  • Em seguida, verifique se a apresentação contém os projetos VBA usando a propriedade Presentation.vbaproject.
  • Acesse cada módulo VBA na coleção Presentation.vbaproject.modules.
  • Por fim, extraia o código-fonte e o nome do módulo VBA.

O exemplo de código a seguir mostra como extrair macros VBA do PowerPoint em Python.

# Carregar uma apresentação
with slides.Presentation("presentation.pptm") as presentation:
    
    # Verifique se a apresentação contém o projeto VBA
    if presentation.vba_project is not None:
        
        # Imprima cada módulo
        for module in presentation.vba_project.modules:
            print(module.name)
            print(module.source_code)

Remover macros VBA de uma apresentação do PowerPoint

Para remover uma macro VBA, você precisa acessá-la usando seu índice. Depois de ter a referência da macro, você pode removê-la da coleção. A seguir estão as etapas para remover uma macro VBA de uma apresentação do PowerPoint.

  • Primeiro, carregue a apresentação do PowerPoint habilitada para macro usando a classe Presentation.
  • Em seguida, remova a macro VBA usando o método Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index]).
  • 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 em Python.

# Carregar uma apresentação
with slides.Presentation("presentation.pptm") as presentation:
    # Remover macro VBA usando índice
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

    # Salvar apresentação
    presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Obtenha uma licença gratuita

Você pode usar o Aspose.Slides para Python sem limitações de avaliação obtendo uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu a trabalhar com macros VBA em apresentações do PowerPoint usando Python. Com a ajuda de exemplos de código, demonstramos como adicionar, extrair e remover macros VBA em apresentações do PowerPoint. Além disso, você pode visitar a documentação para explorar mais sobre o Aspose.Slides for Python. Além disso, você pode fazer suas perguntas e dúvidas através do nosso fórum.

Veja também