PPTX en Python

Las macros de VBA le permiten automatizar varios tipos de operaciones en presentaciones de PowerPoint. Puede usarlos para generar gráficos, mostrar los objetos ocultos y realizar diferentes tareas repetitivas en las presentaciones. Mientras trabaja con presentaciones de PowerPoint desde sus aplicaciones de Python, es posible que deba manipular macros de VBA. Por lo tanto, en este artículo, aprenderá cómo agregar, extraer y eliminar macros de VBA en PowerPoint usando Python.

Biblioteca de Python para trabajar con macros de VBA en PowerPoint

Para trabajar con macros VBA en presentaciones de PowerPoint, usaremos Aspose.Slides for Python. La biblioteca proporciona un amplio conjunto de funciones para crear, editar y convertir presentaciones de PowerPoint. Puede instalar la biblioteca desde PyPI usando el siguiente comando.

> pip install aspose.slides

Agregar macro VBA en presentaciones de PowerPoint en Python

Los siguientes son los pasos para agregar una macro de VBA en una presentación de PowerPoint usando Python.

  • Primero, use la clase Presentation para cargar o crear la presentación de PowerPoint.
  • Luego, cree un nuevo VbaProject y asígnelo a la propiedad Presentation.vba\project.
  • Después de eso, agregue un módulo VBA vacío usando el método Presentation.vba\project.modules.add\empty\module(string).
  • Agregue el código fuente al módulo VBA usando la propiedad IVbaModule.source\code.
  • Asocie las referencias y agréguelas a la colección Presentation.vba\project.references.
  • Finalmente, guarde el archivo de presentación usando el método Presentation.save(string, SaveFormat.PPTM).

El siguiente ejemplo de código muestra cómo agregar una macro de VBA en una presentación de PowerPoint usando Python.

# Create or load a presentation
with slides.Presentation() as presentation:
    # Create new VBA project
    presentation.vba_project = slides.vba.VbaProject()

    # Add empty module to the VBA project
    module = presentation.vba_project.modules.add_empty_module("Module")

    # Set module source code
    module.source_code = "Sub Test(oShape As Shape) MsgBox ""Test"" End Sub"

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

    # Create reference to 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")

    # add references to the VBA project
    presentation.vba_project.references.add(stdoleReference)
    presentation.vba_project.references.add(officeReference)

    # Save presentation
    presentation.save("add-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Extraiga macros de VBA de PowerPoint en Python

También puede acceder a las macros de VBA agregadas a una presentación de PowerPoint y extraer su información. Los siguientes pasos demuestran cómo extraer macros de VBA e imprimir su nombre y código fuente en Python.

  • Primero, cargue la presentación habilitada para macros utilizando la clase Presentation.
  • Luego, verifique si la presentación contiene los proyectos VBA usando la propiedad Presentation.vba\project.
  • Acceda a cada módulo de VBA en la colección Presentation.vba\project.modules.
  • Finalmente, extraiga el código fuente y el nombre del módulo VBA.

El siguiente ejemplo de código muestra cómo extraer macros de PowerPoint VBA en Python.

# Load a presentation
with slides.Presentation("presentation.pptm") as presentation:
    
    # Check if presentation contains VBA Project
    if presentation.vba_project is not None:
        
        # Print each module
        for module in presentation.vba_project.modules:
            print(module.name)
            print(module.source_code)

Eliminar macros de VBA de una presentación de PowerPoint

Para eliminar una macro de VBA, debe acceder a ella mediante su índice. Una vez que tenga la referencia de la macro, puede eliminarla de la colección. Los siguientes son los pasos para eliminar una macro VBA de una presentación de PowerPoint.

  • Primero, cargue la presentación de PowerPoint habilitada para macros utilizando la clase Presentation.
  • Luego, elimine la macro VBA usando el método Presentation.vba\project.modules.remove(Presentation.vba\project.modules[index]).
  • Finalmente, guarde la presentación actualizada usando el método Presentation.save(string, SaveFormat.PPTM).

El siguiente ejemplo de código muestra cómo eliminar una macro de VBA en Python.

# Load a presentation
with slides.Presentation("presentation.pptm") as presentation:
    # Remove VBA macro using index
    presentation.vba_project.modules.remove(presentation.vba_project.modules[0])

    # Save presentation
    presentation.save("remove-vba-macro.pptm", slides.export.SaveFormat.PPTM)

Obtenga una licencia gratis

Puede usar Aspose.Slides for Python sin limitaciones de evaluación al obtener una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a trabajar con macros de VBA en presentaciones de PowerPoint utilizando Python. Con la ayuda de ejemplos de código, hemos demostrado cómo agregar, extraer y eliminar macros de VBA en presentaciones de PowerPoint. Además, puede visitar la documentación para explorar más sobre Aspose.Slides for Python. Además, puede hacer sus preguntas y consultas a través de nuestro foro.

Ver también