Show me the transition time of each slide and total running time of the show
This macro will show you the transition time of each slide and the total running time.
By making a slight change (see comments in the code) you can have it show you the times for the entire presentation or for just the selected slides.
Sub TotalTimes()
' Copyright/Last Edited 19 May, 2022 by Stepen Rindsberg dba PPTools
Dim oSld As Slide
Dim strMessage As String
Dim lngTotalTime As Long
' Use this to collect times for ALL slides:
For Each oSld In ActivePresentation.Slides
' Or comment it out and uncomment this to get just the selected slides:
' For Each oSld in ActiveWindow.Selection.SlideRange
strMessage = strMessage _
& CStr(oSld.SlideNumber) _
& vbTab _
& CStr(oSld.SlideShowTransition.AdvanceTime) _
& vbCrLf
lngTotalTime = lngTotalTime + oSld.SlideShowTransition.AdvanceTime
Next oSld
' Comment these out if you don't want to see them
MsgBox strMessage
MsgBox ("Total time: " & CStr(lngTotalTime))
' And if you want to write the results to a text file:
Dim FileNum As Integer
Dim FileName As String
' Edit this to suit, especially if you use a Mac:
' As written, it'll pick up your TEMP folder location automatically:
FileName = Environ$("TEMP") & "\" & "SlideTimings.txt"
FileNum = FreeFile()
Open FileName For Output As FileNum
Print #FileNum, strMessage
Print #FileNum, "Total time: " & CStr(lngTotalTime)
Close #FileNum
' view the file in notepad
Call Shell("Notepad.exe " & FileName, vbNormalFocus)
' or if you use a mac, comment that out and open the file in any text editor you like
End Sub
See How do I use VBA code in PowerPoint? to learn how to use this example code.