excel-vba
Integracja PowerPoint poprzez VBA
Szukaj…
Uwagi
W tej sekcji przedstawiono różne sposoby interakcji z programem PowerPoint za pośrednictwem języka VBA. Od pokazywania danych na slajdach po tworzenie wykresów - PowerPoint jest bardzo potężnym narzędziem w połączeniu z Excelem. Dlatego w tej sekcji przedstawiono różne sposoby wykorzystania VBA do automatyzacji tej interakcji.
Podstawy: uruchamianie programu PowerPoint z VBA
Chociaż istnieje wiele parametrów, które można zmienić, a warianty, które można dodać w zależności od pożądanej funkcjonalności, w tym przykładzie przedstawiono podstawowe ramy uruchamiania programu PowerPoint.
Uwaga: ten kod wymaga dodania odwołania PowerPoint do aktywnego projektu VBA. Zobacz pozycję Dokumentacja odniesień, aby dowiedzieć się, jak włączyć odniesienie.
Najpierw zdefiniuj zmienne dla obiektów aplikacji, prezentacji i slajdów. Chociaż można to zrobić z późnym wiązaniem, zawsze najlepiej jest użyć wczesnego wiązania, jeśli ma to zastosowanie.
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Następnie otwórz lub utwórz nową instancję aplikacji PowerPoint. W tym przypadku wywołanie On Error Resume Next
służy do uniknięcia błędu generowanego przez GetObject
jeśli PowerPoint nie został jeszcze otwarty. Bardziej szczegółowe wyjaśnienie zawiera przykład obsługi błędów w temacie najlepszych praktyk.
'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
Po uruchomieniu aplikacji generowana jest nowa prezentacja, a następnie zawarty slajd do użycia.
'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
Po zakończeniu tego kodu zostanie otwarte nowe okno PowerPoint z pustym slajdem. Za pomocą zmiennych obiektowych można dowolnie dodawać kształty, tekst, grafikę i zakresy programu Excel