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



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow