¿Cómo crear y agregar diapositivas a presentaciones de PowerPoint con VBA?

Hace un par de días, un lector preguntó si había una manera de automatizar la creación de presentaciones de PowerPoint desde cero y luego agregar rápidamente diapositivas a esa presentación existente. Pensé que ese script podría estar en la lista de las macros de PowerPoint más útiles. 

Como indicamos anteriormente, PowerPoint no incluye una grabadora de macros (a diferencia de Excel y Word, que tienen grabadoras integradas para macros). Por lo tanto, nos quedamos con el viejo Visual Basic para aplicaciones que podemos usar para crear macros simples para automatizar PowerPoint. Existen otras alternativas para la automatización de PowerPoint, pero van más allá del alcance de este tutorial.

En el breve tutorial de hoy, repasaremos tres casos de uso diferentes:

  1. Nueva creación de presentación (en blanco o usando una plantilla)
  2. Agregue diapositivas a una presentación existente.
  3. Una combinación de los dos casos mencionados anteriormente (Crear desde cero y adición de diapositivas)

Empecemos.

Mira la cinta. Si no ve la entrada Desarrollador en el menú, antes de comenzar a codificar, deberá habilitar la pestaña Desarrollador.

Después de hacer que el menú Desarrollador sea visible en su Cinta, continúe y presione Desarrollador , luego presione el botón Visual Basic (o simplemente continúe y presione Alt + F11) para abrir el IDE de Visual Basic.

VBA para crear una presentación de PowerPoint

  1. En el Editor de VB, haga clic derecho en VBAProject y presione Insertar .
  2. Seleccione Módulo .
  3. Pegue el siguiente código en el módulo recién creado.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
  1. Presiona Archivo y luego Guardar.
  2. Para ejecutar su código, presione Ejecutar y luego seleccione Ejecutar formulario de sub/usuario (o simplemente F5).
  3. Cierre el editor de VB.

VBA para insertar diapositivas

  1. En el Editor de VB, haga clic derecho en VBAProject y presione Insertar.
  2. Seleccionar módulo
  3. Pegue el siguiente código en el módulo recién creado.
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. Presiona Archivo y luego Guardar.
  2. Para ejecutar su código, presione Ejecutar y luego seleccione Ejecutar formulario de sub/usuario (o simplemente F5).
  3. Cierre el editor de VB.

Macro para configurar una nueva presentación y agregar diapositivas

Eso sería simplemente mezclar los dos 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, puede consultar nuestro tutorial sobre la creación programática de formas en PowerPoint con VBA

Generar una presentación de PowerPoint desde Excel

El último caso es que le gustaría crear una presentación de PowerPoint directamente desde una hoja de cálculo de Excel. Puede emplear la misma técnica desde Word y otras aplicaciones de Microsoft 365.

  • Vincule la hoja de cálculo al modelo de datos de PowerPoint (desde Herramientas>>Referencias)
  • Inserte un botón en su hoja de cálculo de Excel (Desarrollador >> Insertar y luego elija un botón de comando).
  • Inserte el código VBA a continuación en su proyecto VBA de hoja de cálculo (directamente en la hoja o en un módulo VBA)
  • Modifique el script según sea necesario.
  • Ejecutar (pulsar F5) y probar el 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

Disfruta 🙂

Ventajas de Excel VBA PowerPoint

  • Usar VBA en Powerpoint hace que sea fácil de manejar si un archivo ppt tiene tantas diapositivas con contenido enorme.
  • VBA con Powerpoint da un toque de automatización incluso con funciones limitadas disponibles.

Contras de Excel VBA PowerPoint

  • Necesitamos seleccionar la Biblioteca de objetos de Microsoft PowerPoint 15.0 de la opción Referencia ubicada en la opción del menú Herramienta, que necesitamos al inicio de ejemplo-1, cada vez que ejecutamos el código de PowerPoint.

Cosas para recordar

  • Guarde el archivo en el formato de presentación habilitada para macros después de escribir el código. Esto nos ayudará a evitar perder el código y utilizar el mismo varias veces en el futuro.
  • La función de grabación no funcionará aquí ya que necesitamos saltar de Excel a PowerPoint cambiando la interfaz entre las páginas.
  • Compile siempre el código antes de ejecutarlo. Esto le ayudará a encontrar el error en el código. Esto es bastante útil cuando escribimos grandes líneas de código.
  • Para ejecutar e implementar el código necesitamos abrir la hoja de Excel con el gráfico que queremos pegar en la diapositiva de PowerPoint.
  • Podemos alinear el gráfico en PowerPoint según nuestras necesidades.

Dejar un comentario

How to Create a Simple Lead Tracking System in Excel Before Buying a CRM

How to Create a Simple Lead Tracking System in Excel Before Buying a CRM

Build a practical Excel lead tracker with tables, dropdowns, follow-up dates, filters, conditional formatting, and a simple PivotTable dashboard before investing in CRM software.

Hoja de asistencia imprimible sencilla para guardería en el hogar: qué registrar y por qué.

Hoja de asistencia imprimible sencilla para guardería en el hogar: qué registrar y por qué.

Utilice esta sencilla hoja de asistencia imprimible para guarderías en el hogar para llevar un registro de llegadas, salidas, ausencias, firmas y documentos requeridos.

Plantilla sencilla de hoja de recuento de inventario para Excel: un diseño listo para el comercio minorista que permite una conciliación rápida.

Plantilla sencilla de hoja de recuento de inventario para Excel: un diseño listo para el comercio minorista que permite una conciliación rápida.

Crea una sencilla hoja de cálculo de Excel para el recuento de inventario en tiendas minoristas, con controles para SKU, ubicación, cantidad contada, variación, recuento y lista para imprimir.

Plantilla imprimible de una página para la estrategia de marketing de negocios locales

Plantilla imprimible de una página para la estrategia de marketing de negocios locales

Utilice esta plantilla imprimible de una página para la estrategia de marketing, donde podrá elegir un público objetivo local, una oferta, una combinación de canales, un presupuesto, acciones y objetivos medibles.

Plantilla gratuita de horarios de turnos para empleados en Excel con calculadora automática de horas.

Plantilla gratuita de horarios de turnos para empleados en Excel con calculadora automática de horas.

Crea gratis un horario de turnos para empleados en Excel con horas de inicio y finalización, deducciones por descansos, gestión de turnos nocturnos, totales semanales y una sencilla calculadora de horas.

Las mejores aplicaciones gratuitas de facturación para pequeñas empresas de servicios en EE. UU. (2026)

Las mejores aplicaciones gratuitas de facturación para pequeñas empresas de servicios en EE. UU. (2026)

Compara las mejores aplicaciones gratuitas de facturación para empresas de servicios en EE. UU. en 2026, incluyendo Zoho Invoice, Square, Wave, PayPal e Invoice Ninja.

Plantilla sencilla de Excel para el seguimiento de nóminas quincenales para equipos pequeños: una configuración ideal para principiantes.

Plantilla sencilla de Excel para el seguimiento de nóminas quincenales para equipos pequeños: una configuración ideal para principiantes.

Crea un sencillo sistema de seguimiento de nóminas quincenales en Excel para un equipo pequeño, con hojas de cálculo claras, fórmulas, controles y límites prácticos para una conciliación de nóminas segura.

Cómo exportar contactos de Salesforce a un formato Excel limpio

Cómo exportar contactos de Salesforce a un formato Excel limpio

Aprende a exportar los contactos de Salesforce a un archivo Excel limpio, conservar los ID y los campos de texto, eliminar duplicados de forma segura y evitar errores comunes en los archivos CSV.

Plantilla imprimible de presupuesto de obra en Excel para pequeños contratistas

Plantilla imprimible de presupuesto de obra en Excel para pequeños contratistas

Cree un presupuesto imprimible para un proyecto de construcción en Excel con categorías de costos prácticas, fórmulas, campos de margen de beneficio, configuración de impresión y una lista de verificación lista para el contratista.

Lista de verificación y plantilla de presupuesto para planificación de eventos imprimible para Word

Lista de verificación y plantilla de presupuesto para planificación de eventos imprimible para Word

Utilice esta lista de verificación imprimible y plantilla de presupuesto para eventos en Word para rastrear responsables, plazos, costos, proveedores y la preparación del día del evento con controles de calidad claros.