%3A%20%EC%8A%AC%EB%9D%BC%EC%9D%B4%EB%93%9C%20%ED%83%80%EC%9D%B4%EB%B0%8D%EC%9D%84%20%EC%84%A4%EB%AA%85%20%EA%B8%B0%EA%B0%84%EC%9C%BC%EB%A1%9C%20%EC%84%A4%EC%A0%95.png)
실수로 달렸어모든 슬라이드의 명확한 타이밍명령을 내리고 모든 슬라이드 타이밍을 잃었습니다. 하지만 내 프레젠테이션의 각 슬라이드에는 내레이션이 있습니다. 모든 슬라이드의 설명 기간에 맞게 슬라이드 타이밍을 설정하는 GUI/VBA 방법이 있습니까?
감사합니다.
답변1
임시 해결 방법을 개발했습니다.
- 슬라이드에서 오디오 클립을 선택합니다.
- 아래에오디오 도구, 에재생탭, 클릭오디오 다듬기. 총 재생 시간은 오른쪽 상단을 참조하세요.
- 수동으로 조정조정하다슬라이드 타이밍전환탭에서타이밍그룹, 아래고급 슬라이드, 안에후에입력 상자.
워크플로는 작동하지만 수동이므로 시간이 많이 걸립니다.
VBA를 통해 총 오디오 재생 시간을 읽는 방법을 알고 있습니까?
답변2
다음은 프레젠테이션에 포함된 사운드의 전체 길이를 제공하는 약간의 VBA입니다. 그 과정에서 각각의 사운드를 반환합니다. 분할해야 하는 경우 코드를 수정할 수 있습니다.
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
답변3
여기에 Steve의 답변을 바탕으로 제가 생각해낸 스크립트가 있습니다. 어떤 이유에서인지 슬라이드 전환 변수가 임의적인 한계인 86.4를 초과하는 문제에 부딪혔습니다. 해당 번호를 변경했는데 오류가 발생하지 않으면 모두 함께 제거해도 됩니다.
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
답변4
최신 버전의 PowerPoint에는 타이밍에 큰 혼란을 일으키는 버그가 있는 것 같다는 점을 지적하고 싶었습니다. 분명히 리본 옵션 TRANSITIONS 아래에 "XXX초 후 슬라이드 진행" 옵션이 기본적으로 자동으로 선택되어 있습니다. 전환을 편집하고 이 항목을 선택 취소하지 않으면 모든 타이밍이 지워지고 리본 옵션에 표시된 숫자로 대체됩니다.
나는 나레이션 타이밍이 지워진 프레젠테이션을 수정하려고 며칠을 보냈고, 나레이션을 다시 녹음한 다음(즐겁지 않음) 전체 프레젠테이션을 수동으로 실행한 후 화면을 캡처하여 비디오로 변환했습니다. 이 문제를 약 25초 만에 해결한 것은 위의 Jon G의 솔루션이었습니다.
고마워요, 존!