Fa uns dies, un lector va preguntar si hi havia una manera d'automatitzar la creació de presentacions de PowerPoint des de zero i després afegir ràpidament diapositives a aquesta presentació existent. Vaig pensar que aquest script podria estar molt a la llista de les macros de PowerPoint més útils.
Com vam indicar en el passat, PowerPoint no inclou un enregistrador de macros (això és a diferència d'Excel i Word, que tots dos tenen gravadors incorporats per a macro). Per tant, ens queda un bon Visual Basic vell per a l'aplicació que podem utilitzar per crear macros senzilles per automatitzar PowerPoint. Hi ha més alternatives per a PowerPoint Automation, però aquestes van més enllà de l'abast d'aquest tutorial.
En el breu tutorial d'avui, repassarem tres casos d'ús diferents:
- Nova creació de presentacions (en blanc o utilitzant una plantilla)
- Afegiu diapositives a una presentació existent.
- Una barreja dels dos casos esmentats anteriorment (crear des de zero i afegir diapositives)
Comencem.
Mira la cinta. Si no veieu l'entrada de Desenvolupador al menú, abans d'iniciar la codificació haureu d' habilitar la pestanya de Desenvolupador.
Després de fer visible el menú Desenvolupador a la vostra cinta, seguiu endavant i premeu Desenvolupador i, a continuació, premeu el botó de Visual Basic (o simplement seguiu endavant i premeu Alt+F11) per obrir l'IDE de Visual Basic.
VBA per crear presentacions de PowerPoint
- A l'editor VB, feu clic amb el botó dret a VBAProject i premeu Insereix .
- Seleccioneu Mòdul .
- Enganxeu el codi següent al mòdul de creació recent.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- Premeu Fitxer i després Desa.
- Per executar el vostre codi, premeu Executar i, a continuació, seleccioneu Executar formulari de sub/usuari (o simplement F5).
- Tanqueu l'editor VB.
VBA per inserir diapositives
- A l'editor VB, feu clic amb el botó dret a VBAProject i premeu Insereix.
- Seleccioneu Mòdul
- Enganxeu el codi següent al mòdul de creació recent.
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
- Premeu Fitxer i després Desa.
- Per executar el vostre codi, premeu Executar i, a continuació, seleccioneu Executar formulari de sub/usuari (o simplement F5).
- Tanqueu l'editor VB.
Macro per configurar una presentació nova i afegir diapositives
Això seria només barrejar els dos fragments descrits anteriorment.
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
A continuació, podeu consultar el nostre tutorial sobre la creació programàtica de formes a PowerPoint amb VBA
Genereu una presentació de PowerPoint des d'Excel
L'últim cas és que us agradaria crear una presentació de PowerPoint directament des d'un full de càlcul Excel. Podeu utilitzar la mateixa tècnica de Word i altres aplicacions de Microsoft 365.
- Enllaceu el full de càlcul al model de dades de PowerPoint (a Eines>>Referències)
- Inseriu un botó al full de càlcul d'Excel (Desenvolupador >> Insereix i, a continuació, trieu un botó d'ordres).
- Inseriu el codi VBA a continuació al vostre projecte VBA de full de càlcul (directament al full o en un mòdul VBA)
- Modifiqueu l'script segons sigui necessari.
- Executeu (prem F5) i comproveu el resultat.
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
Gaudeix 🙂
Avantatges d'Excel VBA PowerPoint
- L'ús de VBA a Powerpoint és fàcil de manejar si un fitxer ppt té tantes diapositives amb un contingut enorme.
- VBA amb Powerpoint dóna un toc d'automatització fins i tot amb funcions limitades disponibles.
Contres d'Excel VBA PowerPoint
- Hem de seleccionar la Biblioteca d'objectes de Microsoft PowerPoint 15.0 des de l'opció Referència situada a l'opció del menú Eina, que necessitem a l'inici de exemple-1, cada vegada que executem el codi per a PowerPoint.
Coses per recordar
- Deseu el fitxer en el format de presentació d'activació de macro després d'escriure el codi. Això ens ajudarà a evitar perdre el codi i utilitzar el mateix diverses vegades en el futur.
- La funció de codificació no funcionarà aquí, ja que hem de saltar d'Excel a PowerPoint canviant la interfície entre les pàgines.
- Compileu sempre el codi abans d'executar-lo. Això us ajudarà a trobar l'error al codi. Això és molt útil quan escrivim grans línies de codi.
- Per executar i implementar el codi hem d'obrir el full d'excel amb Chart que volem enganxar a la diapositiva de PowerPoint.
- Podem alinear el gràfic a PowerPoint segons les nostres necessitats.