excel-vba
PowerPoint-integratie via VBA
Zoeken…
Opmerkingen
In dit gedeelte worden verschillende manieren getoond om via VBA met PowerPoint te communiceren. Van het weergeven van gegevens op dia's tot het maken van grafieken, PowerPoint is een zeer krachtig hulpmiddel in combinatie met Excel. In dit gedeelte wordt dus geprobeerd aan te tonen op welke verschillende manieren VBA kan worden gebruikt om deze interactie te automatiseren.
De basis: het starten van PowerPoint vanuit VBA
Hoewel er veel parameters kunnen worden gewijzigd en variaties kunnen worden toegevoegd, afhankelijk van de gewenste functionaliteit, bevat dit voorbeeld het basiskader voor het starten van PowerPoint.
Opmerking: deze code vereist dat de PowerPoint-verwijzing is toegevoegd aan het actieve VBA-project. Zie het item Referenties Documentatie voor meer informatie over het inschakelen van de referentie.
Definieer eerst variabelen voor de toepassing-, presentatie- en diaobjecten. Hoewel dit kan worden gedaan met late binding, is het altijd het beste om vroege binding te gebruiken indien van toepassing.
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Open of maak vervolgens een nieuw exemplaar van de PowerPoint-toepassing. Hier wordt de aanroep On Error Resume Next
gebruikt om te voorkomen dat een fout wordt gegenereerd door GetObject
als PowerPoint nog niet is geopend. Bekijk de Error Handling voorbeeld van de Best Practices onderwerp voor een nadere toelichting.
'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
Nadat de toepassing is gestart, wordt een nieuwe presentatie en vervolgens een dia voor gebruik gegenereerd.
'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
Na voltooiing van deze code wordt een nieuw PowerPoint-venster met een lege dia geopend. Door de objectvariabelen te gebruiken, kunnen vormen, tekst, afbeeldingen en excelbereiken naar wens worden toegevoegd