excel-vba
PowerPoint-integration genom VBA
Sök…
Anmärkningar
Det här avsnittet demonstrerar olika sätt att interagera med PowerPoint via VBA. Från att visa data på bilder till att skapa diagram är PowerPoint ett mycket kraftfullt verktyg när det används tillsammans med Excel. Således försöker detta avsnitt visa de olika sätt VBA kan användas för att automatisera denna interaktion.
Grunderna: Starta PowerPoint från VBA
Det finns många parametrar som kan ändras och variationer som kan läggas till beroende på önskad funktionalitet, men i detta exempel fastställs det grundläggande ramverket för att starta PowerPoint.
Obs: Denna kod kräver att PowerPoint-referensen har lagts till i det aktiva VBA-projektet. Se posten Referenser Dokumentation för att lära dig hur du aktiverar referensen.
Definiera först variabler för applikations-, presentation- och bildobjekt. Även om detta kan göras med sen bindning är det alltid bäst att använda tidig bindning när det är tillämpligt.
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Öppna eller skapa en ny instans av PowerPoint-applikationen. Här används On Error Resume Next
samtal för att undvika att ett fel kastas av GetObject
om PowerPoint ännu inte har öppnats. Se exempel på felhantering av ämnet för bästa metoder för en mer detaljerad förklaring.
'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
När applikationen har startats genereras en ny presentation och därefter innehållande bild för användning.
'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
När denna kod har slutförts kommer ett nytt PowerPoint-fönster med en tom bild att vara öppet. Genom att använda objektvariablerna kan former, text, grafik och excelområden läggas till efter önskemål