Met PowerPoint kunnen doeltreffende animaties worden gemaakt om het publiek mee te nemen bij een verhaal. Een mooi voorbeeld is een geanimeerde opsomming-lijst.
Helaas kunnen deze animaties zo net irritant worden als doeltreffend. Zeker bij het navigeren naar vorige dia's kan het opnieuw afspelen van animaties als storend worden ervaren.
In dit artikel worden 3 mogelijke oplossingen aangeboden.
1. Navigeer direct naar dia
Met deze optie kan er direct naar een andere dia worden genavigeerd.
Windows | MAC |
[CTRL] + [S] |
|
2. Animaties uitschakelen
Een andere route is om de animaties voor de gehele presentatie uit te schakelen.
- Tabblad [Diavoorstelling];
- Diavoorstelling instellen;
- Voorstelling zonder animatie.
3. Sneltoetsen toewijzen
Deze laatste oplossing is mijn inziens de mooiste. M.b.v. van de programmeertaal VBA kan er een script geïnstalleerd worden zodat de onderstaande functietoetsen kunnen worden gebruikt. Voor Windows werkt het script perfect, voor de MAC werkt het helaas erg vertragend.
Windows | MAC | |
Speel alle animaties af | [Enter] | [→] |
Reset alle animaties | [Backspace] | [←] |
- Maak een nieuwe lege presentatie;
- Druk op [ALT] + [F11] om naar de Visual Basic Editor te gaan;
- Maak een module (Invoegen | Module) genaamd modMain;
- Plak de code;
- Maak een klassenmodule ( Invoegen | Klassenmodule) genaamd clsEvents;
- Plak de code;
- Bewaar de presentatie als PowerPoint-Invoegtoepassing, bijvoorbeeld met de naam App.ppam;
- Ga naar Bestand | Opties | Invoegtoepassingen;
- Ga naar [Beheren] en selecteer [PowerPoint-invoegtoepassingen];
- Druk op knop [Start...] en [Nieuwe toevoegen...];
- Selecteer de zojuist opgeslagen invoegtoepassing;
- Druk op [Sluiten] en sluit Powerpoint.
De volgende keer dat een presentatie op deze PC wordt geopend, kunnen alle animaties worden afgespeeld met [Enter] en worden teruggespoeld met [Backspace].
modMain
Option Explicit #If Win64 Then Public Declare PtrSafe Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer #Else Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer #End If Public AE As New clsEvents Sub Auto_Open() Set AE.App = Application End Sub
clsEvents
Option Explicit Const VK_ENTER As Integer = 13 Const VK_BACKSPACE As Integer = &H8 Public WithEvents App As Application Private Sub App_SlideShowOnNext(ByVal Wn As SlideShowWindow) If GetAsyncKeyState(VK_ENTER) < 0 Then Wn.View.GotoClick (msoClickStateAfterAllAnimations) End Sub Private Sub App_SlideShowOnPrevious(ByVal Wn As SlideShowWindow) If GetAsyncKeyState(VK_BACKSPACE) < 0 Then Wn.View.GotoClick (msoClickStateBeforeAutomaticAnimations) End Sub
- Klik in de titel-tekst;
- Ga naar het tabblad [Invoegen];
- Druk op de knop [Actie];
- Selecteer startPresentation bij Macro uitvoeren;
- Druk op de knop [OK];
- Bewaar de Presentatie als "PowerPoint Macro-Enabled presentation" en sluit PowerPoint.
De eerst volgende keer dat deze presentatie wordt gestart - en de macro via de titel-tekst wordt geactiveerd - kunnen alle animaties worden afgespeeld met [→] en worden teruggespoeld met [←].
Let op: het script werkt erg vertragend.
modMain
Option Explicit Public AE As New clsEvents Sub startPresentation() Set AE.App = Application End Sub
clsEvents
Option Explicit Const VK_MAC_ARROW = "NSNumericPadKeyMask" Public WithEvents App As Application Private Sub App_SlideShowOnNext(ByVal Wn As SlideShowWindow) If KeyPressedCheck(VK_MAC_ARROW) = True Then Wn.View.GotoClick (msoClickStateAfterAllAnimations) End Sub Private Sub App_SlideShowOnPrevious(ByVal Wn As SlideShowWindow) If KeyPressedCheck(VK_MAC_ARROW) = True Then Wn.View.GotoClick (msoClickStateBeforeAutomaticAnimations) End Sub Function KeyPressedCheck(KeyConstant As String) As Boolean ' https://www.macexcel.com/examples/setupinfo/detectkeypress/ Dim ScriptToRun As String ScriptToRun = "do shell script ""/usr/bin/python -c 'import Cocoa; " & _ "print Cocoa.NSEvent.modifierFlags() & Cocoa." & KeyConstant & " > 1'""" On Error Resume Next KeyPressedCheck = MacScript(ScriptToRun) On Error GoTo 0 End Function