Office - Word, Excel und Co. 9.746 Themen, 41.427 Beiträge

PowerPoint: Makro zur Anzeige der benötigten Zeit für eine P

McMorning / 1 Antworten / Baumansicht Nickles

Hi Leute,

ich mache gerade meine Präsentation für mein Projekt fertig, nur habe ich dabei ein kleines Problemchen. Ich möchte wissen wie lange ich für meine Präsentation gebraucht habe. Daher habe ich mich ein wenig in VBA umgesehen und festgestellt das man dort genau dieses Abfragen kann.

Nun mein Problem:
Wie schaffe ich, das am Ende der Präsentation eine MessageBox mit der angegebenen Zeit hochkommt. Den Code für die Box mit der Zeit usw. habe ich bereits (steht hier drunter). Allerdings weiß ich nicht wie ich es hinkriege das die Box erst am Ende angezeigt wird. Eine Schleife wie das Beispiel weiter unten zeigt, führt zu einer 100%igen Auslastung des Systems und es ist nichts mehr möglich!! (Also aufpassen beim ausprobieren!!) Wer also eine gute Idee hat, der soll sich melden!!

Gruß
McMorning

Code für MessageBox mit Zeitanzeige:

Dim zeit as String
Dim ergebnis as Integer
zeit = CStr(SlideShowWindows(Index:=1).View.PresentationElapsedTime)
ergebnis = MsgBox("Die Präsentation dauerte: " + zeit + " Sekunden", vbOKOnly, "Präsentationsdauer")

Endlosschleife die man nicht abbrechen kann:
Dim LastSite as Boolean
Dim AnzahlFolien, AktuelleFolie as Integer
LastSite = False
While Not LastSite
AnzahlFolien = SlideShowWindows(Index:=1).Presentation.Slides.Count
AktuelleFolie = SlideShowWindows(Index:=1).View.Slide.SlideIndex
If AktuelleFolie = AnzahlFolien Then
LastSite = True
End If
Wend
bei Antwort benachrichtigen
McMorning Nachtrag zu: „PowerPoint: Makro zur Anzeige der benötigten Zeit für eine P“
Optionen

Hi Leute,
ich habe es inzwischen selber hinbekommen!! Wer das ganze auch gebrauchen möchte, der kann sich einfach den Code kopieren und das Makro ausführen. Anschließend wird die Präsentation gestartet und kann ganz normal angezeigt werden. Sobald dann die letzte Folie erreicht wird erscheint eine Message-Box mit der Zeitanzeige!!

Viel Spaß
McMorning

Code für Makro


With ActivePresentation.SlideShowSettings
.ShowType = ppShowTypeSpeaker
.LoopUntilStopped = msoFalse
.ShowWithNarration = msoTrue
.ShowWithAnimation = msoTrue
.RangeType = ppShowAll
.AdvanceMode = ppSlideShowUseSlideTimings
.PointerColor.SchemeColor = ppForeground
.Run
End With
Dim ergebnis, zeit, sek, min As Integer
Dim LastSite As Boolean
LastSite = False
While Not LastSite
DoEvents
If SlideShowWindows(Index:=1).View.Slide.SlideIndex = SlideShowWindows(Index:=1).Presentation.Slides.Count Then
LastSite = True
End If
Wend
zeit = SlideShowWindows(Index:=1).View.PresentationElapsedTime
sek = zeit Mod 60
min = zeit / 60
ergebnis = MsgBox("Die Präsentation dauerte: " + CStr(min) + " Min. und " + CStr(sek) + " Sek.", vbOKOnly, "Präsentationsdauer")
End Sub
bei Antwort benachrichtigen