PPTX in Python

Le macro VBA consentono di automatizzare vari tipi di operazioni nelle presentazioni PowerPoint. Puoi usarli per generare grafici, scoprire gli oggetti nascosti ed eseguire diverse attività ripetitive nelle presentazioni. Mentre si lavora con le presentazioni PowerPoint dall’interno delle applicazioni Python, potrebbe essere necessario manipolare le macro VBA. Pertanto, in questo articolo imparerai come aggiungere, estrarre e rimuovere macro VBA in PowerPoint usando Python.

Libreria Python per lavorare con le macro VBA in PowerPoint

Per lavorare con le macro VBA nelle presentazioni PowerPoint, utilizzeremo Aspose.Slides for Python. La libreria fornisce un ricco set di funzionalità per creare, modificare e convertire presentazioni PowerPoint. È possibile installare la libreria da PyPI utilizzando il comando seguente.

> pip install aspose.slides

Aggiungi macro VBA nelle presentazioni PowerPoint in Python

Di seguito sono riportati i passaggi per aggiungere una macro VBA in una presentazione PowerPoint utilizzando Python.

  • Innanzitutto, usa la classe Presentation per caricare o creare la presentazione di PowerPoint.
  • Quindi, crea un nuovo VbaProject e assegnalo alla proprietà Presentation.vbaproject.
  • Successivamente, aggiungi un modulo VBA vuoto usando il metodo Presentation.vbaproject.modules.addemptymodule(string).
  • Aggiungi il codice sorgente al modulo VBA usando la proprietà IVbaModule.sourcecode.
  • Associa i riferimenti e aggiungili alla raccolta Presentation.vbaproject.references.
  • Infine, salva il file di presentazione utilizzando il metodo Presentation.save(string, SaveFormat.PPTM).

L’esempio di codice seguente mostra come aggiungere una macro VBA in una presentazione di 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)

Estrai macro VBA da PowerPoint in Python

Puoi anche accedere alle macro VBA aggiunte a una presentazione PowerPoint ed estrarne le informazioni. I passaggi seguenti mostrano come estrarre le macro VBA e stamparne il nome e il codice sorgente in Python.

  • Innanzitutto, carica la presentazione con abilitazione macro utilizzando la classe Presentation.
  • Quindi, controlla se la presentazione contiene i progetti VBA utilizzando la proprietà Presentation.vbaproject.
  • Accedi a ciascun modulo VBA nella raccolta Presentation.vbaproject.modules.
  • Infine, estrai il codice sorgente e il nome del modulo VBA.

L’esempio di codice seguente mostra come estrarre le macro VBA di PowerPoint in 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)

Rimuovere le macro VBA da una presentazione di PowerPoint

Per rimuovere una macro VBA, devi accedervi utilizzando il suo indice. Una volta ottenuto il riferimento della macro, è possibile rimuoverla dalla raccolta. Di seguito sono riportati i passaggi per rimuovere una macro VBA da una presentazione di PowerPoint.

  • Innanzitutto, carica la presentazione PowerPoint con abilitazione macro utilizzando la classe Presentation.
  • Quindi, rimuovere la macro VBA utilizzando il metodo Presentation.vbaproject.modules.remove(Presentation.vbaproject.modules[index]).
  • Infine, salva la presentazione aggiornata utilizzando il metodo Presentation.save(string, SaveFormat.PPTM).

L’esempio di codice seguente mostra come rimuovere una macro VBA in 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)

Ottieni una licenza gratuita

Puoi utilizzare Aspose.Slides per Python senza limitazioni di valutazione ottenendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato a lavorare con le macro VBA nelle presentazioni di PowerPoint usando Python. Con l’aiuto di esempi di codice, abbiamo dimostrato come aggiungere, estrarre e rimuovere macro VBA nelle presentazioni PowerPoint. Inoltre, puoi visitare la documentazione per saperne di più su Aspose.Slides per Python. Inoltre, puoi porre la tua domanda e le tue domande tramite il nostro forum.

Guarda anche