excel-vba
PowerPoint-Integration über VBA
Suche…
Bemerkungen
In diesem Abschnitt werden verschiedene Möglichkeiten für die Interaktion mit PowerPoint über VBA beschrieben. Von der Anzeige von Daten auf Folien bis zur Erstellung von Diagrammen ist PowerPoint in Verbindung mit Excel ein sehr leistungsfähiges Werkzeug. In diesem Abschnitt soll daher gezeigt werden, wie VBA zur Automatisierung dieser Interaktion verwendet werden kann.
Die Grundlagen: Starten von PowerPoint über VBA
Es gibt zwar viele Parameter, die geändert werden können, und Variationen, die abhängig von der gewünschten Funktionalität hinzugefügt werden können. In diesem Beispiel wird das grundlegende Framework für das Starten von PowerPoint beschrieben.
Hinweis: Dieser Code erfordert, dass die PowerPoint-Referenz zum aktiven VBA-Projekt hinzugefügt wurde. Siehe die Referenzen Dokumentation Eintrag zu lernen , wie die Referenz zu ermöglichen.
Definieren Sie zunächst Variablen für die Anwendungs-, Präsentations- und Folienobjekte. Dies kann zwar mit einer späten Bindung erfolgen, es ist jedoch immer am besten, die frühe Bindung zu verwenden, falls zutreffend.
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Öffnen oder erstellen Sie eine neue Instanz der PowerPoint-Anwendung. Hier wird der Aufruf On Error Resume Next
verwendet, um zu verhindern, dass ein Fehler von GetObject
wenn PowerPoint noch nicht geöffnet wurde. Eine ausführlichere Erklärung finden Sie im Beispiel zur Fehlerbehandlung des Themas Best Practices.
'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
Nachdem die Anwendung gestartet wurde, wird eine neue Präsentation und anschließend enthaltene Folie zur Verwendung generiert.
'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
Nach Abschluss dieses Codes wird ein neues PowerPoint-Fenster mit einer leeren Folie geöffnet. Mithilfe der Objektvariablen können Formen, Text, Grafiken und Excel-Bereiche nach Wunsch hinzugefügt werden