Makro w PowerPoint

Makra w prezentacji PowerPoint

Włączając obsługę makr w prezentacji PowerPoint, znacznie zwiększamy możliwości i funkcje programu. Dzięki temu możemy tworzyć bardziej zaawansowane i interaktywne prezentacje. Z tego artykułu dowiesz się jakie możliwości dają makra w prezentacji PowerPoint.

Co to są makra?

Makro to fragment kodu programistycznego (skryptu), który komunikuje się z naszą prezentacją i automatycznie wykonuje określone funkcje i zadania. W przypadku Microsoft PowerPoint, makra tworzone są w Visual Basic-u. Dzięki określonej składni tego języka oraz wbudowanym funkcjom i komendom możemy sterować działaniem i zachowaniem się prezentacji. Stosując makra możemy też automatyzować pewne procesy przyspieszając w ten sposób naszą pracę.

Jak włączyć makra w prezentacji PowerPoint?

Pierwszym krokiem, który musimy wykonać by móc korzystać z Makro jest włączenie karty „Developer” we wstążce programu. Aby to zrobić wykonujemy następujące czynności:

Na karcie [Plik] przechodzimy do [Opcje] i dalej do [Dostosowanie Wstążki]

Aktywacja karty Deweloper

W obszarze [Dostosowywanie Wstążki] w części [Karty główne] zaznaczamy pole wyboru [Deweloper]


Klikamy [OK]

Karta „Deweloper” powinna być już widoczna w obszarze Wstążki

Karta Deweloper

Krok drugi to zapisanie naszej prezentacji jako prezentacji z włączona obsługą makr. W tym celu:

Przechodzimy do karty [Plik]

Wybieramy [Zapisz jako] i następnie [Przeglądaj]

Tu możemy wskazać miejsce na dysku naszego komputera gdzie chcemy zapisać prezentację. W polu [Zapisz typ jako:] wybieramy opcję [Prezentacja programu PowerPoint z włączoną obsługą makr (*.pptm)]


Zapisana prezentacja będzie miała rozszerzenie pptm zamiast tradycyjnego pptx.

Dodatkowo przy uruchomieniu takiej prezentacji na nowym komputerze pojawi się komunikat / ostrzeżenie, o konieczności aktywowanie obsługi makr.

Teraz mamy już skonfigurowane środowisko i możemy rozpocząć tworzenie makr. Po wybraniu karty [Deweloper] wybieramy [Visual Basic]

Karta Deweloper

W nowym oknie zostanie uruchomiony program do edycji i tworzenia fragmentów kodu obsługujących prezentację.

Visual Basic w PowerPoint

Utworzone w ten sposób makra będą dostępne z poziomu PowerPoint-a, i będziemy je mogli przypisywać np. do przycisków lub innych elementów umieszczonych na slajdzie.

Zastosowania

Makra można wykorzystywać na wiele różnych sposobów. Ja opiszę tu tylko kilka, które rozszerzają możliwości PowerPoint-a do obsługi prezentacji interaktywnych, czyli takich które reagują na działanie użytkownika np. na kliknięcie w jakiś element. W prezentacjach interaktywnych slajdy przełączane są nie liniowo (nie linearnie), a więc nie jeden po drugim, tylko w dowolnej kolejności. To użytkownik w trakcie pokazu sam decyduje, który slajd wyświetli jako kolejny. Takie zachowanie możne porównać do strony internetowej, gdzie poprzez menu nawigacyjne wybieramy interesujące nas treści.

Zmiana sposobu przejścia slajdu

Przeskoczenie ze slajdu 2-ego na np. 10-ty może być realizowane przy pomocy wbudowanych funkcji PowerPoint, ale makra dają większą kontrolę i swobodę w tworzeniu takich przejść. Możemy np. kontrolować jaki będzie efekt przejścia na slajd 10-ty i tak zaprogramować prezentację, aby przechodząc ze slajdu 2-ego na 10-ty zastosować efekt przejścia [Płynna zmiana], a przy przejściu ze slajdu 4-ego na 10-ty to zastosować [Wypychanie w lewo]. To daje nam więcej swobody i sprawia, że prezentacja wygląda płynniej.

Fragment kodu pokazujący modyfikację efektu przejścia slajdu.

With ActivePresentation.Slides(10)
    With .SlideShowTransition
        .EntryEffect = 3954
        .Duration = 2
    End With
  End With
SlideShowWindows(1).View.GoToSlide 10, msoFalse

Istotne jest to, że próbując zbudować taką prezentację w tradycyjny sposób, musielibyśmy ręcznie duplikować slajdy, przewidując wszystkie możliwe kombinacje przejść. To oczywiście sprawiłoby znaczne namnożenie się liczby takich samych slajdów.

Ostatnio oglądany slajd

Ciekawą funkcją jest również możliwość wykrycia, który slajd był oglądany ostatnio i przygotowanie nawigacji np. strzałki wstecz. Pamiętajmy, że w prezentacjach interaktywnych nie poruszamy się po slajdach w sposób liniowy, a więc jeżeli jesteśmy na slajdzie 10-tym, to wcale nie znaczy, że ostatnio oglądaliśmy slajd 9-ty.

Fragment kodu pokazujący wykrywanie ostatnio oglądanego slajdu:

With SlideShowWindows(1).View
    .GoToSlide (.LastSlideViewed.SlideIndex)
End With

Uruchomienie konkretnego slajdu

Dzięki zastosowaniu makr, możemy też wykrywać pojawienie się konkretnego slajdu, a nawet konkretnego elementu na tym slajdzie. To ułatwi nam kontrolowanie przygotowanych animacji i innych efektów wykorzystanych w prezentacji.

Fragment kodu sprawdzający czy jesteśmy na określonym slajdzie:

Sub OnSlideShowPageChange()
    Dim i As Integer
    i = ActivePresentation.SlideShowWindow.View.CurrentShowPosition
    If i = 10 
    'MsgBox "Insert your code here"
End Sub

Restart animacji

Często, w tradycyjnych prezentacjach linearnych, poruszając się po slajdach do przodu i wstecz, następuje zjawisko zatrzymania się animacji na jej końcu. Przy kolejnym wejściu na taki slajd od razu widzimy w pełni odtworzoną animację. Odpowiednio zastosowane makro automatycznie uruchamia taką animację od nowa.

Fragment kodu:

With SlideShowWindows(1).View
    .GotoSlide 3, msoTrue
End With

Automatyzacja działań

Tworząc zaawansowane prezentacje, dzięki makrom, możemy wiele czynności wykonywać automatycznie. Wstawienie do prezentacji 100 kolejnych slajdów z różnymi tytułami utworzonymi wg ściśle określonego schematu, łatwiej będzie wykonać stosując makro niż ręczne ich tworzenie bezpośrednio w PowerPoint.

Warto również wspomnieć o możliwości współpracy PowerPoint-a z np. Excelem i pobieraniem z niego danych przy pomocy odpowiednio przygotowanych makr.

Dokumentacja

Jeżeli jesteś zainteresowany wykorzystaniem makr w prezentacji PowerPoint zachęcam cię do zapoznania się z dokumentacją Visual Basic w tym obszarze. Znajdziesz tu opisy i przykłady zastosowań wybranych funkcji i klas programowych.