Buscar..


Observaciones

Esta sección muestra una variedad de formas de interactuar con PowerPoint a través de VBA. Desde mostrar datos en diapositivas hasta crear gráficos, PowerPoint es una herramienta muy poderosa cuando se usa junto con Excel. Por lo tanto, esta sección busca demostrar las diversas formas en que se puede utilizar VBA para automatizar esta interacción.

Lo básico: Lanzar PowerPoint desde VBA

Si bien hay muchos parámetros que se pueden cambiar y variaciones que se pueden agregar según la funcionalidad deseada, este ejemplo presenta el marco básico para lanzar PowerPoint.

Nota: este código requiere que la referencia de PowerPoint se haya agregado al Proyecto VBA activo. Consulte la entrada Documentación de referencias para saber cómo habilitar la referencia.

Primero, defina las variables para la aplicación, presentación y objetos de diapositiva. Si bien esto se puede hacer con la vinculación tardía, siempre es mejor usar la vinculación temprana cuando corresponda.

Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide

A continuación, abra o cree una nueva instancia de la aplicación de PowerPoint. Aquí, la llamada On Error Resume Next se usa para evitar que GetObject un error si aún no se ha abierto PowerPoint. Consulte el ejemplo de manejo de errores del tema de Mejores prácticas para obtener una explicación más detallada.

'Open PPT if not running, otherwise select active instance
On Error Resume Next
Set PPApp = GetObject(, "PowerPoint.Application")
On Error GoTo ErrHandler
If PPApp Is Nothing Then
    'Open PowerPoint
    Set PPApp = CreateObject("PowerPoint.Application")
    PPApp.Visible = True
End If

Una vez iniciada la aplicación, se genera una nueva presentación y una diapositiva contenida para su uso.

'Generate new Presentation and slide for graphic creation
Set PPPres = PPApp.Presentations.Add
Set PPSlide = PPPres.Slides.Add(1, ppLayoutBlank)

'Here, the slide type is set to the 4:3 shape with slide numbers enabled and the window 
'maximized on the screen.  These properties can, of course, be altered as needed

PPApp.ActiveWindow.ViewType = ppViewSlide
PPPres.PageSetup.SlideOrientation = msoOrientationHorizontal
PPPres.PageSetup.SlideSize = ppSlideSizeOnScreen
PPPres.SlideMaster.HeadersFooters.SlideNumber.Visible = msoTrue
PPApp.ActiveWindow.WindowState = ppWindowMaximized

Al completar este código, se abrirá una nueva ventana de PowerPoint con una diapositiva en blanco. Al usar las variables de objetos, se pueden agregar formas, texto, gráficos y rangos de Excel como se desee



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow