Un paio di giorni fa, un lettore ha chiesto se esiste un modo per automatizzare la creazione di presentazioni PowerPoint da zero e quindi aggiungere rapidamente diapositive a quella presentazione esistente. Ho pensato che quello script potesse essere molto nell'elenco delle macro di PowerPoint più utili.
Come indicato in passato, PowerPoint non include un registratore di macro (a differenza di Excel e Word, che hanno entrambi registratori integrati per Macro). Pertanto, ci rimane il buon vecchio Visual Basic per applicazioni che possiamo utilizzare per creare semplici macro per automatizzare PowerPoint. Esistono ulteriori alternative per PowerPoint Automation, ma queste vanno oltre lo scopo di questo tutorial.
Nel breve tutorial di oggi, esamineremo tre diversi casi d'uso:
- Creazione di una nuova presentazione (vuota o utilizzando un modello)
- Aggiungi diapositive a una presentazione esistente.
- Un mix dei due casi sopra menzionati (Crea da zero e aggiunta di diapositive)
Iniziamo.
Guarda il nastro. Se non vedi la voce Sviluppatore nel menu, prima di iniziare la codifica dovrai abilitare la scheda sviluppatore.
Dopo aver reso visibile il menu Developer sulla barra multifunzione, vai avanti e premi Developer , quindi premi il pulsante Visual Basic (o semplicemente vai avanti e premi Alt+F11) per aprire l'IDE di Visual Basic.
VBA per creare presentazioni PowerPoint
- Nell'editor VB, fai clic con il pulsante destro del mouse su VBAProject e premi Inserisci .
- Seleziona Modulo .
- Incolla il codice seguente nel modulo appena creato.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- Premi File e poi Salva.
- Per eseguire il codice, premi Esegui e quindi seleziona Esegui modulo secondario/utente (o semplicemente F5).
- Chiudere l'editor VB.
VBA per inserire diapositive
- Nell'editor VB, fai clic con il pulsante destro del mouse su VBAProject e premi Inserisci.
- Seleziona Modulo
- Incolla il codice seguente nel modulo appena creato.
Sub CreateSlide()
Dim NewSlide as Slide
'This statement ads a title slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
End Sub
- Premi File e poi Salva.
- Per eseguire il codice, premi Esegui e quindi seleziona Esegui modulo secondario/utente (o semplicemente F5).
- Chiudere l'editor VB.
Macro per impostare una nuova presentazione e aggiungere diapositive
Sarebbe solo confondere i due frammenti descritti sopra.
Sub CreatePres_AddSlides()
Dim NewPres as Presentation
Dim NewSlide as Slide
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
' Title Slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
'Save the new PowerPoint file
NewPres.SaveAs("MyPresentation.pptx")
End Sub
Successivamente potresti esaminare il nostro tutorial sulla creazione programmatica di forme in PowerPoint con VBA
Genera una presentazione PowerPoint da Excel
L'ultimo caso è che desideri creare una presentazione PowerPoint direttamente da un foglio di calcolo Excel. Puoi utilizzare la stessa tecnica da Word e da altre applicazioni Microsoft 365.
- Collega il foglio di calcolo al modello di dati di PowerPoint (da Strumenti >> Riferimenti)
- Inserisci un pulsante nel foglio di calcolo di Excel (Sviluppatore >> Inserisci e quindi seleziona un pulsante di comando).
- Inserisci il codice VBA di seguito nel tuo progetto VBA Spreadsheet (direttamente nel foglio o in un modulo VBA)
- Modificare lo script come richiesto.
- Corri (premi F5) e verifica il risultato.
Sub CreatePresentationFromExcel()
Dim MyPPt As PowerPoint.Application
Dim NewPres As PowerPoint.Presentation
Dim NewSlide As Slide
Set MyPPt = CreateObject("PowerPoint.Application")
Set NewPres = MyPPt.Presentations.Add
Set NewSlide = MyPPt.ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
NewPres.SaveAs ("MyPresentation.pptx")
NewPres.Close
MyPPt.Quit
MsgBox ("Presentation saved")
End Sub
Divertiti 🙂
Pro di Excel VBA PowerPoint
- L'uso di VBA in Powerpoint semplifica la gestione se un file ppt ha così tante diapositive con contenuti enormi.
- VBA con Powerpoint dà un tocco di automazione anche con funzioni limitate disponibili.
Contro di Excel VBA PowerPoint
- Dobbiamo selezionare la Libreria oggetti di Microsoft PowerPoint 15.0 dall'opzione Riferimento situata nell'opzione del menu Strumenti, di cui abbiamo bisogno all'inizio di esempio-1, ogni volta che eseguiamo il codice per PowerPoint.
Cose da ricordare
- Salvare il file nel formato Presentazione con attivazione macro dopo aver scritto il codice. Questo ci aiuterà a evitare di perdere il codice e di utilizzare lo stesso tempo più volte in futuro.
- La funzionalità di ricodifica non funzionerà qui poiché dobbiamo passare da Excel a PowerPoint modificando l'interfaccia tra le pagine.
- Compilare sempre il codice prima di eseguirlo. Questo ti aiuterà a trovare l'errore nel codice. Questo è molto utile quando scriviamo grandi righe di codice.
- Per eseguire e implementare il codice dobbiamo aprire il foglio Excel con il grafico che vogliamo incollare nella diapositiva di PowerPoint.
- Possiamo allineare il grafico in PowerPoint secondo le nostre esigenze.