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
- Aggiungi macro VBA in una presentazione di PowerPoint
- Estrai macro VBA da una presentazione
- Rimuovere le macro VBA da una presentazione
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.