В макросе 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для другого объекта я хотел бы установить то же самое на «По щелчку», а также установить «Появиться» в группе «Анимация» и «Как один объект» для «Параметры эффекта».
Обновить: Это очень близко к работе:
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 *
За исключением того, что я заканчиваю с двумя триггерами, который выглядит неправильно, но, похоже, не вызывает проблем.
![enter image description here](https://i.stack.imgur.com/LHKKu.png)
Обновление: надеюсь, окончательное обновление. Я думаю, что мне просто нужно очистить анимацию по умолчанию для аудио. Я добавил это к началу условия:
If oshp.MediaType = ppMediaTypeSound Then
oshp.AnimationSettings.Animate = False