PowerPoint - Legen Sie eine Zeit für jede Folie fest und zeigen Sie die gesamte Präsentationszeit an.

10190
Bye

Ich weiß, dass Sie für die Übergangsregisterkarten eine Zeit pro Folie festlegen können. Dies ist jedoch der Fall, wenn Sie diese Option verwenden, um automatisch jede Folie zu wechseln.

Ich möchte auf jeder Folie eine Zeit-Eigenschaft haben, die ich einstellen kann. Als Präsentator wird dann ein Countdown angezeigt, so dass ich sehen kann, ob ich auf einer bestimmten Folie Zeit habe, während ich meine Präsentation mache.

Darüber hinaus wäre es schön, die Gesamtdauer der Präsentation bestimmen zu können. In der unteren Symbolleiste befindet sich also ein Element für Slide Time = 01:30 und ein weiterer für Slide Show Time = 05:45

Ich befürchte, dass dies nicht verfügbar ist, und ich denke, es wäre so sehr nützlich zu haben.

Der Schlüsselpunkt hier ist, dass ich immer noch die Kontrolle über die Präsentation haben möchte, also den automatischen Folienübergang nicht verwenden möchte. Ich möchte jedoch gerne einen Wert wie die Folienübergangszeit (und eine Gesamtheit aller dieser Werte) verwenden, um meine Shows besser vorzubereiten und zu präsentieren.

Bearbeiten: Ich habe festgestellt, dass ich die Option "Timings verwenden" im Bereich "Diaschau" -> "Einrichtung" deaktivieren kann. Dadurch wird der automatische Vorschub nach jeder Folie angehalten, während auf der Diaschau-Seite weiterhin die Zeit für jede Folie angezeigt wird. Dies gibt mir jedoch keinen Diatimer während der Präsentation oder irgendwo, um die Gesamtzeit der Präsentation zu sehen (und wenn Sie 30-45 Folien haben, wäre es ärgerlich, die Zeit für jede Folie zusammenzurechnen).

1

4 Antworten auf die Frage

1
Yass

Es gibt ein Add-In, das Sie herunterladen können und das gibt, was Sie wollen. Wenn Sie sehen, dass Sie den ersten Teil eingerichtet haben, können Sie dieses Add-In verwenden, um die verstrichene Zeit über der aktuellen Folie anzuzeigen.

Es gibt Installationsanweisungen auf der Website, auf die ich verlinkt habe, aber ich werde sie hier einfach hinzufügen.

  1. Laden Sie die ausführbare Datei herunter und lassen Sie das Add-In am Standardspeicherort installieren. Ich habe die ausführbare Datei und die installierten Add-In-Dateien auf Viren geprüft und kann bestätigen, dass sie sauber sind.

  2. Öffnen Sie nach der Installation des Add-Ins PowerPoint und führen Sie folgende Schritte aus:

Datei -> Optionen -> Add-Ins -> (Wählen Sie unten in der Dropdown-Liste Verwalten) die Option PowerPoint-Add-Ins und Los

  1. Gehen Sie im daraufhin angezeigten Dialog wie folgt vor:

Neu hinzufügen -> TM PowerPoint-Timer (Multifunktionsleiste) auswählen -> OK

Das obige fügt eine TMRegisterkarte zum PowerPoint-Menüband hinzu. Im Konfigurationsfenster für den Timer können Sie einen Timer einstellen, um die abgelaufene Zeit anzuzeigen. Es gibt auch einen Update DisplayEintrag auf der ersten Registerkarte. Vergewissern Sie sich, dass Sie 1 Sekunde eingestellt haben (der Standardwert ist 10 Sekunden).

Danke, es ist nah dran, aber nicht was ich gehofft hatte. Dieses Add-On hat eine 30-tägige Testversion und kostet 29,95 $. Da die Präsentation auf einem Computer gehalten wird, den ich nicht besitze, kann ich sie wahrscheinlich nicht installieren. Bye vor 10 Jahren 0
Hmmmm, das ist unglücklich. Soweit ich weiß, gibt es keine Option, die abgelaufene Zeit standardmäßig auf Powerpoint anzuzeigen. Jemand anderes könnte eine bessere Lösung für Sie haben. Yass vor 10 Jahren 0
1
Bye

Ich hoffe, dass die Etikette bei der Beantwortung meiner eigenen Frage nicht gebrochen wird, da ich weiß, wie heikel Mods sein können, wenn man das Protokoll einhält. Aber ich habe dies gefunden, was eine Gesamtzeit für die Diaschau liefern kann. Sie basiert auf der Zeit, die für den automatischen Übergang der Folie eingestellt ist (Übergänge-> Folienvorschub-> Nach :). In der Diashow-Multifunktionsleiste können Sie die Option "Timings verwenden" deaktivieren, sodass Sie während der Präsentation die Folien vorschieben können.

Dies ist kein Countdown für die Präsentation des Präsentators, aber ich denke, ich kann ohne das leben und die erwartete Zeit eingeben, zu der ich oben auf meinen Notizen stehen sollte. Das obige Add-In scheint einen Countdown für die Sicht des Präsentators zu geben, aber ich kann es an meinem Veranstaltungsort nicht verwenden, daher ist es keine Option.

Ich habe dieses Makro von hier aus erstellt, The PowerPoint FAQ. Ich habe es ein bisschen geändert, um die Zeiten im "00:00" -Format und die Gesamtzeit am unteren Rand anstelle eines separaten Popup-Fensters anzuzeigen. Um es zu verwenden, erstellen Sie einfach einen Aufruf zu Ansicht-> Makros und erstellen Sie ein neues Makro "Gesamtzeit". Kopieren Sie den folgenden Code und fügen Sie ihn ein:

Sub TotalTimes()  Dim oSld As Slide Dim strMessage As String Dim lngTotalTime As Long Dim strSlideMin As String Dim strSlidesec As String   ' 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 strSlideMin = Format(Int(oSld.SlideShowTransition.AdvanceTime / 60), "00") strSlidesec = Format(Int(oSld.SlideShowTransition.AdvanceTime Mod 60), "00") strMessage = strMessage _ & CStr(oSld.SlideNumber) _ & vbTab _ & strSlideMin & ":" & strSlidesec _ & vbCrLf lngTotalTime = lngTotalTime + oSld.SlideShowTransition.AdvanceTime Next oSld  ' Comment these out if you don't want to see them strMessage = strMessage & vbCrLf & "Total" & vbTab & Format(Int(lngTotalTime / 60), "00") & ":" & Format(Int(lngTotalTime Mod 60), "00") MsgBox strMessage 'MsgBox ("Total time: " & CStr(lngTotalTime))   End Sub 

Der Originalcode enthält auch einen Abschnitt zum Schreiben in eine Textdatei, den ich ausgeschnitten habe, da er meinen Anforderungen nicht entsprach.

Ich bin sehr überrascht, dass MS diese Informationen nicht in PowerPoint zur Verfügung hat. Es scheint eine ziemlich intuitive Information zu sein, die sie standardmäßig enthalten würden.

Nett. Es ist vollkommen in Ordnung, Ihre eigene Frage zu beantworten. Yass vor 10 Jahren 0
0
Steve Rindsberg

Es gibt elegantere Möglichkeiten, dies über ein Add-In zu tun, aber wie wäre es damit ... Es wird davon ausgegangen, dass Sie die Presenter-Ansicht verwenden, in der Sie die Notizen sehen können. Sie können den Text jedoch stattdessen der Folie oder anderen Elementen hinzufügen.

Option Explicit Public StartTime As Date  Sub StartTimer() StartTime = Time SlideShowWindows(1).View.GotoSlide (SlideShowWindows(1).View.Slide.SlideIndex + 1) End Sub  Sub ElapsedTime(osh As Shape)  Dim oNotesText As Shape Dim oNextSlide As Slide  ' what slide are we about to move TO? Set oNextSlide = ActivePresentation.Slides(osh.Parent.SlideIndex + 1)  ' Get a reference to the notes text on that slide (not 100% reliable, but generally works) Set oNotesText = oNextSlide.NotesPage.Shapes(2)  ' Do the time math and add the elapsed time to the notes: With oNotesText .TextFrame.TextRange.Text = Format(Time - StartTime, "HH:MM:SS") & vbCrLf & .TextFrame.TextRange.Text End With  ' And go to the slide SlideShowWindows(1).View.GotoSlide (SlideShowWindows(1).View.Slide.SlideIndex + 1)  End Sub 

Fügen Sie der ersten Folie eine Form hinzu, und weisen Sie ihr eine Aktionseinstellung für Run Macro zu: StartTimer Fügen Sie der nächsten Folie eine Form hinzu, weisen Sie ihr eine Aktionseinstellung für Run Macro: ElapsedTime zu. Kopieren Sie die Form von Folie 2 in die anderen Folien in der Präsentation.

0
yaganox

Ich habe auf dieser Seite eine Lösung gefunden: Link . Der Autor erstellt einen Countdown-Timer im Speicher und fügt seinen Fortschrittstext der letzten in jede Folie eingefügten Form hinzu.

Ich habe es ein wenig geändert, um die erste Folie nicht zu beeinflussen und die Form vor dem letzten Einfügen zu aktualisieren. Ich entferne immer die Datums- und Foliennummer aus der Fußzeile und füge sie dann hinzu, wenn die Präsentation endgültig ist.

Um die Anzahl der Minuten festzulegen, von denen abwärts gezählt werden soll, suchen TargetDateTime = DateAdd("n", 6, Now)und ändern Sie die 6.

Hier ist mein modifizierter Code:

Option Explicit 'API Declarations Declare PtrSafe Function SetTimer Lib "user32" _ (ByVal hwnd As LongLong, _ ByVal nIDEvent As LongLong, _ ByVal uElapse As LongLong, _ ByVal lpTimerFunc As LongLong) As LongLong Declare PtrSafe Function KillTimer Lib "user32" _ (ByVal hwnd As LongLong, _ ByVal nIDEvent As LongLong) As LongLong  ' Public Variables Public TimerID As LongLong Public bTimerState As Boolean Public TargetDateTime As Date   Sub TimerOnOff()  Dim maxshapes As Integer Dim i As Integer  TargetDateTime = DateAdd("n", 6, Now)  For i = 2 To ActivePresentation.Slides.Count maxshapes = ActivePresentation.Slides(i).Shapes.Count ActivePresentation.Slides(i).Shapes(maxshapes - 1).TextFrame.TextRange.Text = "" Next i  If bTimerState = False Then TimerID = SetTimer(0, 0, 1000, AddressOf TimerProc) If TimerID = 0 Then MsgBox "Unable to create the timer", vbCritical + vbOKOnly, "Error" Exit Sub End If bTimerState = True SlideShowWindows(1).View.GotoSlide (SlideShowWindows(1).View.Slide.SlideIndex + 1) Else TimerID = KillTimer(0, TimerID) If TimerID = 0 Then MsgBox "Unable to stop the timer", vbCritical + vbOKOnly, "Error" End If bTimerState = False End If  End Sub  ' The defined routine gets called every nnnn milliseconds. Sub TimerProc(ByVal hwnd As LongLong, _ ByVal uMsg As LongLong, _ ByVal idEvent As LongLong, _ ByVal dwTime As LongLong)  Dim diff As Date Dim out As String Dim maxshapes As Integer Dim i As Integer  Dim hours As String Dim minutes As String Dim seconds As String  Dim hoursTest As Boolean Dim minutesTest As Boolean Dim secondsTest As Boolean  diff = TargetDateTime - Now out = ""  hoursTest = (Hour(diff) <> 0) minutesTest = (Minute(diff) <> 0) secondsTest = (Second(diff) <> 0)  hours = CStr(Hour(diff)) minutes = CStr(Minute(diff)) seconds = CStr(Second(diff))  If hoursTest Then If Hour(diff) < 10 Then out = out + "0" End If out = out + hours End If  If minutesTest Or hoursTest Then If hoursTest Then out = out + ":" End If If Minute(diff) < 10 Then out = out + "0" End If out = out + minutes End If  If secondsTest Or minutesTest Then If minutesTest Then out = out + ":" End If If Second(diff) < 10 Then out = out + "0" End If out = out + seconds Else If minutesTest And hoursTest Then out = "END" End If End If  On Error GoTo err: For i = 2 To ActivePresentation.Slides.Count maxshapes = ActivePresentation.Slides(i).Shapes.Count ActivePresentation.Slides(i).Shapes(maxshapes - 1).TextFrame.TextRange.Text = out Next i err: End Sub