PowerPoint 매크로에서 애니메이션 탭의 "타이밍"그룹에있는 "시작"을 "이전 사용"으로 설정하고 싶습니다. 오늘은 VBA에 대한 첫 번째이므로 내 코드를 웃지 마십시오.
Sub adjustAll () Dim osld As Slide Dim oshp As Shape
For Each osld In ActivePresentation.Slides
For Each oshp In osld.Shapes
If oshp.Type = msoMedia Then
If oshp.MediaType = ppMediaTypeSound Then
oshp.Left = 460.7499
oshp.Top = 250.7499
oshp.AnimationSettings.PlaySettings.LoopUntilStopped = True
End If
End If
Next oshp
Next osld
End Sub
AddEffect ()를 사용해야 할 수도 있지만 약간 복잡해 보입니까? 일부 문서와 게시물을 보았지만 설정할 속성이나 적용 할 값을 찾지 못했습니다.
여러 질문을하려는 것은 아니지만, 다른 개체에 대해 추가로 도움을 주거나 RTFM 위치를 알려줄 수있는 사람이 있으면 동일한 항목을 "On Click"으로 설정하고 "Appear"를 " 애니메이션 "그룹 및"효과 옵션 "에 대한"하나의 개체로 ".
업데이트 : 이것은 작동에 매우 가깝습니다.
Sub adjustAll () Dim osld As Slide Dim oshp As Shape
For Each osld In ActivePresentation.Slides
For i = osld.TimeLine.MainSequence.Count To 1 Step -1
osld.TimeLine.MainSequence(i).Delete
Next i
For Each oshp In osld.Shapes
If oshp.Type = msoPlaceholder Then
If oshp.Name <> "Content Placeholder 2" Then
oshp.AnimationSettings.Animate = False
End If
If oshp.Name = "Content Placeholder 2" Then
Set oeff = osld.TimeLine.MainSequence.AddEffect(Shape:=oshp, effectid:=msoAnimEffectAppear, trigger:=msoAnimTriggerOnPageClick)
oshp.AnimationSettings.AnimationOrder = 1
End If
End If
If oshp.Type = msoMedia Then
If oshp.MediaType = ppMediaTypeSound Then
Set oeff = osld.TimeLine.MainSequence.AddEffect(Shape:=oshp, effectid:=msoAnimEffectMediaPlay, trigger:=msoAnimTriggerWithPrevious)
oshp.Left = 460.7499
oshp.Top = 250.7499
oshp.ScaleHeight 0.2, msoTrue
oshp.ScaleWidth 0.2, msoTrue
oshp.AnimationSettings.PlaySettings.LoopUntilStopped = True
End If
End If
Next oshp
Next osld
End Sub
옳지 않은 것 같지만 문제를 일으키지 않는 것 같은 두 개의 방아쇠로 끝나는 것을 제외하고는.
업데이트 : 마지막 업데이트를 바랍니다. 오디오의 기본 애니메이션을 지워야한다고 생각합니다. 나는 이것을 조건 상단에 추가했습니다.
If oshp.MediaType = ppMediaTypeSound Then
oshp.AnimationSettings.Animate = False
PowerPoint 프로그래밍은 약간 복잡합니다. AddEffect는 정확히 사용해야합니다.
Sub AdjustTable()
Dim oSlide As Slide
Dim oShape As Shape
Dim oEffect As Effect
For Each oSlide In ActivePresentation.Slides
For Each oShape In oSld.Shapes
If oShape.Type = msoMedia Then
If oShape.MediaType = ppMediaTypeSound Then
oShape.Left = 460.7499
oShape.Top = 250.7499
Set oEffect = oSlide.TimeLine.MainSequence.AddEffect(Shape:=oShape, _
effectid:=msoAnimEffectMediaPlay, MsoAnimateByLevel:=msoAnimateLevelNone, _
MsoAnimTriggerType:=msoAnimTriggerWithPrevious)
End If
End If
Next oShape
Next oSlide
End Sub
BTW, 미디어 유형에 대한 자리 표시 자만 확인하면 콘텐츠 자리 표시 자에 삽입 된 비디오를 놓칠 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다