Com crear i afegir diapositives a presentacions de PowerPoint amb VBA?

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:

  1. Nova creació de presentacions (en blanc o utilitzant una plantilla)
  2. Afegiu diapositives a una presentació existent.
  3. 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

  1. A l'editor VB, feu clic amb el botó dret a VBAProject i premeu Insereix .
  2. Seleccioneu Mòdul .
  3. 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
  1. Premeu Fitxer i després Desa.
  2. Per executar el vostre codi, premeu Executar i, a continuació, seleccioneu Executar formulari de sub/usuari (o simplement F5).
  3. Tanqueu l'editor VB.

VBA per inserir diapositives

  1. A l'editor VB, feu clic amb el botó dret a VBAProject i premeu Insereix.
  2. Seleccioneu Mòdul
  3. 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
  1. Premeu Fitxer i després Desa.
  2. Per executar el vostre codi, premeu Executar i, a continuació, seleccioneu Executar formulari de sub/usuari (o simplement F5).
  3. 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.

Deixa un comentari

Com solucionar l'error d'Outlook que no pot enviar correu però sí rebre'l

Com solucionar l'error d'Outlook que no pot enviar correu però sí rebre'l

Soluciona Outlook quan pots rebre correu però no enviar-lo. Comprova la safata de sortida, el mode sense connexió, l'inici de sessió, la configuració SMTP, els perfils i els canvis de Microsoft 365.

Plantilla Excel senzilla de seguiment de nòmines quinzenals per a equips petits: una guia pràctica de configuració

Plantilla Excel senzilla de seguiment de nòmines quinzenals per a equips petits: una guia pràctica de configuració

Creeu un seguiment de nòmines quinzenal senzill a Excel per a un equip petit, amb hores, salaris, deduccions, indicadors de revisió, resums i orientació sobre la gestió de registres.

Plantilla de presentació de formació d'incorporació senzilla per a nous empleats: Pla pràctic de 12 diapositives

Plantilla de presentació de formació d'incorporació senzilla per a nous empleats: Pla pràctic de 12 diapositives

Creeu una presentació d'incorporació senzilla per a nous empleats amb una estructura pràctica de 12 diapositives que cobreixi les expectatives del lloc, les eines, la seguretat, les polítiques, la seguretat física i les accions de la primera setmana.

Com exportar els contactes de Salesforce a un format Excel net sense trencar els IDs ni els números de telèfon

Com exportar els contactes de Salesforce a un format Excel net sense trencar els IDs ni els números de telèfon

Exporteu els contactes de Salesforce a Excel de manera neta: creeu l'informe adequat, exporteu només els detalls en CSV, importeu amb Power Query, preserveu els IDs i els zeros inicials, elimineu duplicats de manera segura i verifiqueu el resultat.

Plantilla imprimible d'horari de neteja setmanal per a amfitrions d'Airbnb (Word i PDF)

Plantilla imprimible d'horari de neteja setmanal per a amfitrions d'Airbnb (Word i PDF)

Utilitzeu aquest horari de neteja setmanal imprimible per a amfitrions d'Airbnb per organitzar la neteja de canvi d'hostes, tasques de neteja profunda, reposició, comprovacions de seguretat i impressió de Word a PDF.

Plantilla gratuïta de calendari mensual de factures per a Excel: una configuració pràctica per al 2026

Plantilla gratuïta de calendari mensual de factures per a Excel: una configuració pràctica per al 2026

Organitza les factures mensuals a Excel amb un disseny gratuït de calendari de factures, seguiment de dates de venciment, fórmules d'estat, camps de pagament automàtic i consells pràctics de flux de caixa.

Les fórmules d'Excel no es calculen automàticament? Arregla-ho en 3 passos fàcils

Les fórmules d'Excel no es calculen automàticament? Arregla-ho en 3 passos fàcils

Arregla les fórmules d'Excel que no es calculen automàticament en tres passos: activa el càlcul automàtic, recalcula i repara les cel·les de fórmula.

Plantilla de registre de despeses per a contractistes independents per a freelancers als EUA: què registrar el 2026

Plantilla de registre de despeses per a contractistes independents per a freelancers als EUA: què registrar el 2026

Creeu un registre de despeses pràctic per a freelancers als EUA amb categories compatibles amb l'annex C, camps de rebuts, registre de quilometratge i actualitzacions de les normes de l'IRS per al 2026.

Les millors aplicacions gratuïtes de facturació per a petits negocis de serveis als EUA (2026)

Les millors aplicacions gratuïtes de facturació per a petits negocis de serveis als EUA (2026)

Compareu les millors aplicacions gratuïtes de facturació per a negocis de serveis als EUA el 2026, incloent-hi Zoho Invoice, Wave, Square, PayPal i Invoice Ninja.

Plantilla d'Excel gratuïta per al seguiment de despeses i ingressos de propietats en lloguer: Guia per a principiants

Plantilla d'Excel gratuïta per al seguiment de despeses i ingressos de propietats en lloguer: Guia per a principiants

Utilitzeu una plantilla gratuïta d'Excel per al seguiment de propietats en lloguer per organitzar ingressos, despeses, propietats i flux de caixa mensual. Apreneu què registrar, com configurar-la i els errors a evitar.