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
- Agregar macros de VBA en una presentación de PowerPoint
- Extraer macros VBA de una presentación
- Eliminar macros VBA de una presentación
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.