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 🙂

Deixa un comentario

Como corrixir o erro de Outlook que non pode enviar correo pero si recibilo

Como corrixir o erro de Outlook que non pode enviar correo pero si recibilo

Corrixa Outlook cando pode recibir correo pero non enviar. Comprobe a Bandexa de saída, o modo sen conexión, o inicio de sesión, a configuración SMTP, os perfís e os cambios de Microsoft 365.

Modelo de Excel sinxelo para o seguimento da nómina quincenal para equipos pequenos: Guía práctica de configuración

Modelo de Excel sinxelo para o seguimento da nómina quincenal para equipos pequenos: Guía práctica de configuración

Crea un seguimento sinxelo da nómina quincenal en Excel para un equipo pequeno, con horas, soldos, deducións, marcadores de revisión, resumos e orientación sobre a conservación de rexistros.

Modelo de presentación de formación de incorporación sencilla para nuevos empleados: Plan práctico de 12 diapositivas

Modelo de presentación de formación de incorporación sencilla para nuevos empleados: Plan práctico de 12 diapositivas

Crea una presentación de incorporación para nuevos empleados con una estructura práctica de 12 diapositivas que cubra las expectativas del puesto, herramientas, seguridad, políticas, seguridad física y acciones de la primera semana.

Como exportar contactos de Salesforce a un formato Excel limpo sen romper os IDs nin os números de teléfono

Como exportar contactos de Salesforce a un formato Excel limpo sen romper os IDs nin os números de teléfono

Exporte contactos de Salesforce a Excel de forma limpa: cree o informe correcto, exporte só detalles en CSV, importe con Power Query, preserve os IDs e os ceros á esquerda, elimine duplicados con seguridade e verifique o resultado.

Modelo imprimible de horario semanal de limpeza para anfitrións de Airbnb (Word e PDF)

Modelo imprimible de horario semanal de limpeza para anfitrións de Airbnb (Word e PDF)

Utiliza este horario semanal de limpeza imprimible para anfitrións de Airbnb para organizar a limpeza de rotación, tarefas de limpeza profunda, reposición, comprobacións de seguridade e impresión de Word a PDF.

Modelo gratuíto de calendario mensual de facturas para Excel: unha configuración práctica para 2026

Modelo gratuíto de calendario mensual de facturas para Excel: unha configuración práctica para 2026

Organiza as túas facturas mensuais en Excel cun deseño gratuíto de calendario, seguimento de datas de vencemento, fórmulas de estado, campos de pago automático e consellos prácticos de fluxo de caixa.

As fórmulas de Excel non calculan automaticamente? Arránxao en 3 sinxelos pasos

As fórmulas de Excel non calculan automaticamente? Arránxao en 3 sinxelos pasos

Arranxa as fórmulas de Excel que non calculan automaticamente en tres pasos: activa o cálculo automático, recalcula e repara as células das fórmulas.

Modelo de rexistro de gastos para traballadores autónomos nos EUA: Que rexistrar en 2026

Modelo de rexistro de gastos para traballadores autónomos nos EUA: Que rexistrar en 2026

Crea un rexistro de gastos práctico para autónomos nos EUA con categorías compatibles co Schedule C, campos para recibos, control de quilometraxe e actualizacións das normas do IRS para 2026.

As mellores aplicacións de facturación gratuítas para pequenas empresas de servizos nos EUA (2026)

As mellores aplicacións de facturación gratuítas para pequenas empresas de servizos nos EUA (2026)

Compara as mellores aplicacións de facturación gratuítas para empresas de servizos nos EUA en 2026, incluíndo Zoho Invoice, Wave, Square, PayPal e Invoice Ninja.

Modelo Excel Gratuito para Rastrexar Gastos e Ingresos de Propiedades en Alquiler: Guía para Principiantes

Modelo Excel Gratuito para Rastrexar Gastos e Ingresos de Propiedades en Alquiler: Guía para Principiantes

Use un rastreador gratuito de Excel para propiedades en alquiler para organizar ingresos, gastos, propiedades e fluxo de caixa mensual. Aprenda o que rexistrar, como configuralo e os erros a evitar.