PowerPoint 2013(6): Foliendauer an Erzähldauer anpassen

PowerPoint 2013(6): Foliendauer an Erzähldauer anpassen

Ich bin versehentlich geranntKlare Zeitangaben auf allen FolienBefehl und alle Folienzeiten verloren. Jede Folie meiner Präsentation hat jedoch einen Kommentar. Gibt es eine GUI/VBA-Methode, um die Folienzeiten für alle Folien auf die Dauer des Kommentars einzustellen?

Danke schön.

Antwort1

Ich habe eine vorübergehende Problemumgehung entwickelt:

  1. Wählen Sie den Audioclip auf der Folie aus.
  2. UnterAudio-Tools, auf derWiedergabeaufAudio zuschneiden. Die Gesamtwiedergabedauer finden Sie in der oberen rechten Ecke.
  3. Manuell anpassenAnpassenSchieben Sie das Timing auf derÜbergängein der RegisterkarteZeitliche KoordinierungGruppe, unterVorwärtsfolie, InNachEingabefeld.

Der Workflow funktioniert, ist jedoch manuell und daher mühsam.

Kennen Sie eine Möglichkeit, die Gesamtdauer der Audiowiedergabe über VBA zu lesen?

Antwort2

Hier ist ein bisschen VBA, das Ihnen die Gesamtlänge der Sounds in Ihrer Präsentation anzeigt (und nebenbei den Sound für jeden zurückgibt ... Sie können den Code ändern, wenn Sie das aufteilen müssen):

Sub SumSoundLengths()

    Dim oSh As Shape
    Dim oSl As Slide
    Dim sngLengthOfSound As Single
    Dim sngSoundDuration As Single
    
    For Each oSl In ActivePresentation.Slides
        For Each oSh In oSl.Shapes
        If oSh.Type = msoMedia Then
            If oSh.MediaType = ppMediaTypeSound Then
                With oSh
                    sngLengthOfSound = .MediaFormat.Length
                    sngSoundDuration = sngSoundDuration + sngLengthOfSound
                End With
            End If
        End If
        Next
    Next
    
    MsgBox "Sounds total to: " & CStr(sngSoundDuration)
    
End Sub

Antwort3

Hier ist ein Skript, das ich mir basierend auf Steves Antwort hier ausgedacht habe. Ich hatte ein Problem mit der Folienübergangsvariable, die aus irgendeinem Grund eine scheinbar willkürliche Grenze von 86,4 überschritt. Wenn Sie diese Zahl ändern und kein Fehler auftritt, können Sie sie gerne ganz entfernen.

Sub SetTransitionTimings()

      Dim shapeObj As Shape
      Dim slideObj As Slide
      Dim sngLengthOfSound As Single
      Dim slideDuration As Single

      For Each slideObj In ActivePresentation.Slides

              slideDuration = 0

              For Each shapeObj In slideObj.Shapes

                              If shapeObj.Type = msoMedia Then
                                             If shapeObj.MediaType = ppMediaTypeSound Then
                                                            With shapeObj
                                                                    .AnimationSettings.PlaySettings.PlayOnEntry = msoTrue
                                                                    sngLengthOfSound = .MediaFormat.Length / 1000
                                                                    slideDuration = slideDuration + sngLengthOfSound
                                                            End With
                                             End If
                              End If

              Next

              If slideDuration = 0 Then
                              slideDuration = 5
              End If

              If slideDuration < 86.4 Then
                            With slideObj.SlideShowTransition
                                    .AdvanceOnTime = msoTrue
                                    .Duration = 1
                                    .AdvanceTime = slideDuration
                            End With
              Else
                            Debug.Print "Slide " & slideObj.SlideNumber & ": " & slideDuration
              End If

      Next

      MsgBox "Transition timings set."

End Sub

Antwort4

Ich wollte nur darauf hinweisen, dass die neueste Version von PowerPoint anscheinend einen Fehler hat, der die Zeitangaben durcheinander bringt. Anscheinend ist unter der Menübandoption ÜBERGÄNGE die Option „Folie nach XXX Sekunden weiterschalten“ standardmäßig automatisch aktiviert. Wenn Sie Übergänge bearbeiten und diese Option NICHT deaktivieren, werden alle Ihre Zeitangaben gelöscht und durch die in der Menübandoption angezeigte Zahl ersetzt.

Ich habe Tage damit verbracht, Präsentationen zu reparieren, deren Erzählzeiten gelöscht waren. Ich bin sogar so weit gegangen, die Erzählungen neu aufzunehmen (kein Erfolg) und dann selbst Screenshots zu machen, während ich die gesamte Präsentation manuell abspielte und sie dann in ein Video umwandelte. Es war die oben genannte Lösung von Jon G, die das Problem in nur etwa 25 Sekunden behoben hat.

Danke, Jon!

verwandte Informationen