PowerPoint animaties overslaan

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]
  • Rechtermuis klik
  • Op titel

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