Tipp der Woche
20.10.2022, 14:13 Uhr
VBA/C#: Countdown für Powerpoint
Wer seine Powerpoint-Präsentation für kurze Zeit unterbrechen möchte, beispielsweise für eine Kaffee-Pause, kann eine Countdown-Folie gut gebrauchen.
Die einfachste Version einer solchen Countdown-Folie nutzt ein schlichtes Rechteck, das auf eine neue Folie gezeichnet und dessen Name via Formformat | Auswahlbereich auf CdRechteck geändert wird. Am besten geben Sie auch gleich mal den Text 00:00 in das Rechteck ein und formatieren ihn so, wie Sie es möchten. Dann wird ein neues Makro angelegt (Ansicht | Makro), das den Namen CountDown erhält. Nach dem Klick auf Erstellen öffnet sich der VBA-Editor in dem folgender Code eingetragen wird:
' VBA-Code für das Makro
Dim Ablauf As Date
Ablauf = DateAdd("n", 4, Now()) ' n steht für Minuten
Do Until Ablauf < Now()
DoEvents
ActivePresentation.Slides(1).Shapes( _
"CdRechteck").TextFrame.TextRange = Format(Ablauf - Now(), "nn:ss")
Loop
Dabei ist wichtig zu wissen, das "nn" für Minuten steht, weil "mm" schon für die Anzeige für Monatswerte vergeben ist. Außerdem darf der Befehl DoEvents nicht vergessen werden, weil Powerpoint sonst bis zum Ablauf des Countdowns nicht mehr zu bedienen ist. Vor dem Ausprobieren muss die Präsentation gespeichert werden und zwar im Format PowerPoint-Präsentation mit Makros (*.pptm). Nun gilt es noch das Rechteck mit einer Action zu verbinden (klappt unter Link | Aktion) und zwar mit dem Makro CountDown. Schließlich wird die Folie mit einem Tastendruck auf [F5] angezeigt und per Mausklick startet das Makro und zählt die gewünschte Anzahl an Sekunden herunter. Ein Video von Karina Adcock zur Anlage des Countdowns mit einer älteren, englischen PowerPoint-Version finden Sie hier.
Wayne Jin baut auf dieser CodeProject-Seite das ursprünglich von Karina Adcock vorgestellte Makro weiter aus, in dem er die fest verdrahteten Informationen variabel gestaltet. In einem weiteren Beitrag entwickelt Wayne Jin dann ein VSTO-Add-in mit C# für denselben Zweck für Office-Versionen ab 2013.