PPTX en Python

Les macros VBA vous permettent d’automatiser divers types d’opérations dans les présentations PowerPoint. Vous pouvez les utiliser pour générer des graphiques, afficher les objets masqués et effectuer différentes tâches répétitives dans les présentations. Lorsque vous travaillez avec des présentations PowerPoint à partir de vos applications Python, vous devrez peut-être manipuler des macros VBA. Par conséquent, dans cet article, vous apprendrez à ajouter, extraire et supprimer des macros VBA dans PowerPoint à l’aide de Python.

Bibliothèque Python pour travailler avec les macros VBA dans PowerPoint

Pour travailler avec les macros VBA dans les présentations PowerPoint, nous utiliserons Aspose.Slides for Python. La bibliothèque fournit un riche ensemble de fonctionnalités pour créer, éditer et convertir des présentations PowerPoint. Vous pouvez installer la bibliothèque à partir de PyPI à l’aide de la commande suivante.

> pip install aspose.slides

Ajouter une macro VBA dans les présentations PowerPoint en Python

Voici les étapes pour ajouter une macro VBA dans une présentation PowerPoint à l’aide de Python.

  • Tout d’abord, utilisez la classe Presentation pour charger ou créer la présentation PowerPoint.
  • Ensuite, créez un nouveau VbaProject et attribuez-le à la propriété Presentation.vbaproject.
  • Après cela, ajoutez un module VBA vide à l’aide de la méthode Presentation.vbaproject.modules.addemptymodule(string).
  • Ajoutez le code source au module VBA à l’aide de la propriété IVbaModule.sourcecode.
  • Associez les références et ajoutez-les à la collection Presentation.vbaproject.references.
  • Enfin, enregistrez le fichier de présentation à l’aide de la méthode Presentation.save(string, SaveFormat.PPTM).

L’exemple de code suivant montre comment ajouter une macro VBA dans une présentation PowerPoint à l’aide de 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)

Extraire les macros VBA de PowerPoint en Python

Vous pouvez également accéder aux macros VBA ajoutées à une présentation PowerPoint et extraire leurs informations. Les étapes suivantes montrent comment extraire des macros VBA et imprimer leur nom et leur code source en Python.

  • Tout d’abord, chargez la présentation prenant en charge les macros à l’aide de la classe Presentation.
  • Ensuite, vérifiez si la présentation contient les projets VBA à l’aide de la propriété Presentation.vbaproject.
  • Accédez à chaque module VBA dans la collection Presentation.vbaproject.modules.
  • Enfin, extrayez le code source et le nom du module VBA.

L’exemple de code suivant montre comment extraire des macros 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)

Supprimer les macros VBA d’une présentation PowerPoint

Pour supprimer une macro VBA, vous devez y accéder à l’aide de son index. Une fois que vous avez la référence de la macro, vous pouvez la supprimer de la collection. Voici les étapes pour supprimer une macro VBA d’une présentation PowerPoint.

  • Tout d’abord, chargez la présentation PowerPoint prenant en charge les macros à l’aide de la classe Presentation.
  • Ensuite, supprimez la macro VBA à l’aide de la méthode Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index]).
  • Enfin, enregistrez la présentation mise à jour à l’aide de la méthode Presentation.save(string, SaveFormat.PPTM).

L’exemple de code suivant montre comment supprimer une macro VBA dans 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)

Obtenez une licence gratuite

Vous pouvez utiliser Aspose.Slides for Python sans limitation d’évaluation en obtenant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à utiliser des macros VBA dans des présentations PowerPoint à l’aide de Python. À l’aide d’exemples de code, nous avons montré comment ajouter, extraire et supprimer des macros VBA dans des présentations PowerPoint. De plus, vous pouvez visiter la documentation pour en savoir plus sur Aspose.Slides for Python. Vous pouvez également poser vos questions et requêtes via notre forum.

Voir également