Como crear e engadir diapositivas a presentacións de PowerPoint con VBA?

Hai uns días, un lector preguntoulle que hai unha forma de automatizar a creación de presentacións de PowerPoint desde cero e despois engadir rapidamente diapositivas a esa presentación existente. Pensei que ese guión podería estar moi na lista das macros de PowerPoint máis útiles. 

Como indicamos no pasado, PowerPoint non inclúe un gravador de macros (a diferenza de Excel e Word, que ambos incorporaron gravadores para Macro). Polo tanto, quédanos un bo Visual Basic para Aplicacións que podemos usar para crear Macros simples para automatizar PowerPoint. Hai outras alternativas para a automatización de PowerPoint, pero estas van máis aló do alcance deste tutorial.

No breve tutorial de hoxe, repasaremos tres casos de uso diferentes:

  1. Nova creación de presentacións (en branco ou usando un modelo)
  2. Engade diapositivas a unha presentación existente.
  3. Unha mestura dos dous casos mencionados anteriormente (Crear desde cero e engadir diapositivas)

Imos comezar.

Mira a cinta. Se non ves a entrada de programador no menú, antes de comezar a codificación, terás que activar a pestana de programador.

Despois de facer visible o menú Programador a túa cinta, continúa e preme Desenvolvedor e, a continuación, preme o botón de Visual Basic (ou simplemente continúa e preme Alt+F11) para abrir o IDE de Visual Basic.

VBA para crear presentacións en PowerPoint

  1. No Editor de VB, prema co botón dereito en VBAProject e prema Inserir .
  2. Seleccione Módulo .
  3. Pega o seguinte código no módulo de nova creación.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
  1. Preme Ficheiro e despois Gardar.
  2. Para executar o teu código, fai clic en Executar e despois selecciona Executar formulario de sub/usuario (ou simplemente F5).
  3. Pecha o editor VB.

VBA para inserir diapositivas

  1. No Editor de VB, prema co botón dereito en VBAProject e prema Inserir.
  2. Seleccione Módulo
  3. Pega o seguinte código no módulo de nova creación.
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. Preme Ficheiro e despois Gardar.
  2. Para executar o teu código, fai clic en Executar e despois selecciona Executar formulario de sub/usuario (ou simplemente F5).
  3. Pecha o editor VB.

Macro para configurar unha nova presentación e engadir diapositivas

Iso sería só mesturar os dous fragmentos descritos anteriormente.

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ón, podes consultar o noso tutorial sobre a creación de formas programáticas en PowerPoint con VBA

Xera unha presentación de PowerPoint desde Excel

O último caso é que lle gustaría crear unha presentación de PowerPoint directamente desde unha folla de cálculo de Excel. Podes empregar a mesma técnica desde Word e outras aplicacións de Microsoft 365.

  • Vincular a folla de cálculo ao modelo de datos de PowerPoint (desde Ferramentas>>Referencias)
  • Insira un botón na súa folla de cálculo de Excel (Desenvolvedor >> Inserir e despois escolla un botón de comando).
  • Insira o código VBA a continuación no seu proxecto VBA de folla de cálculo (directamente na folla ou nun módulo VBA)
  • Modifique o script segundo sexa necesario.
  • Executar (preme F5) e proba o resultado.
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

Disfrútao 🙂


Como escribir de dereita a esquerda en Microsoft Office 2016, 2019 / 365?

Como escribir de dereita a esquerda en Microsoft Office 2016, 2019 / 365?

Aprende a cambiar de teclado LTR a RTL en Microsoft Word.

Como configurar a cor da fonte do texto de Excel con VBA?

Como configurar a cor da fonte do texto de Excel con VBA?

Aprende a usar Excel VBA para cambiar o texto, a cor, o tamaño e as propiedades da cela mediante programación.

Como comprobar se unha cela ou un intervalo de varias celas está baleiro con Excel VBA?

Como comprobar se unha cela ou un intervalo de varias celas está baleiro con Excel VBA?

Aprende a programar vba para buscar celas baleiras nunha folla de traballo ou rango de celas.

Rendemento lento de Microsoft Word? Sete consellos para facer que Word 365 / 2019 / 2016 funcione moito máis rápido

Rendemento lento de Microsoft Word? Sete consellos para facer que Word 365 / 2019 / 2016 funcione moito máis rápido

Aprende como podes facer que Word 365 funcione máis rápido desactivando os complementos, actualizando o teu hardware e eliminando

Podo eliminar os ficheiros vc_red do disco duro do meu ordenador persoal?

Podo eliminar os ficheiros vc_red do disco duro do meu ordenador persoal?

Aprende todo o necesario sobre a instalación de VC_RED e os ficheiros de armario. É seguro eliminalos do teu sistema operativo Windows 7 e 10?

Mostrar o texto do encabezado e do pé de páxina só na primeira páxina en Word 365/2016/2019 e Google Docs?

Mostrar o texto do encabezado e do pé de páxina só na primeira páxina en Word 365/2016/2019 e Google Docs?

Aprende a mostrar o pé de páxina e o encabezado na primeira páxina só en Word 365, 2016 e 2019; así como en Documentos de Google

Como traballar coas caixas de mensaxes e de entrada en PowerPoint VBA?

Como traballar coas caixas de mensaxes e de entrada en PowerPoint VBA?

Aprende a codificar caixas de mensaxes e entradas con VBA en PowerPoint

Como crear e engadir diapositivas a presentacións de PowerPoint con VBA?

Como crear e engadir diapositivas a presentacións de PowerPoint con VBA?

Aprende a escribir unha macro VBA sinxela para inserir diapositivas e crear unha nova presentación

Como podo modificar as cores do meu tema de visualización de Office 2016?

Como podo modificar as cores do meu tema de visualización de Office 2016?

Aprende a aplicar esquemas de cores personalizados de Office.

Como abrir ficheiros .one en ordenadores MAC e Windows?

Como abrir ficheiros .one en ordenadores MAC e Windows?

Aprende a lanzar extensións de ficheiros de OneNote de MAC e Windows