Как автоматически перемещать слайд PowerPoint после завершения анимации выхода? - PullRequest
13 голосов
/ 12 февраля 2012

Анимация входа в PowerPoint, настроенная с помощью «Пуск: с предыдущей», запускается сразу после перехода на новый слайд.Однако, если вы настраиваете анимацию выхода таким же образом, она не начинается с последовательности окончания слайда.Вместо этого необходимо использовать триггер «Пуск: при щелчке», и после завершения анимации выхода вам по-прежнему требуется один дополнительный щелчок, чтобы перейти к следующему слайду .

Обходной путь к этому очевиден: создайте дублирующийся слайд, сделайте конечную анимацию из исходного слайда исходной анимацией на дублирующем слайде и позвольте им следовать с любым, что вы хотите, или создайте переходный слайд только с этими конечными анимациямии установите «Смена слайда« Вперед »->« Автоматически после -> [время, необходимое для завершения анимации] ».

Эти обходные пути заставят его визуально работать на вашу аудиторию.Однако это влияет на номера слайдов, которые вам, возможно, потребуется скорректировать и / или дублировать изменения содержимого.Если вы единственный, кто создает и использует вашу презентацию, это может быть просто замечательно.Но если вы создаете презентацию в режиме совместной работы с тремя другими людьми и даже не знаете, кто будет докладчиком в конце, вы можете все испортить.

Давайте определимся: большинство моих слайдов имеют0.2s летают во входной анимации, примененной к блокам контента, идущим справа, снизу или слева.Переходя к следующему слайду, я хочу, чтобы они вылетели в другой анимации выхода 0.2s, сопровождаемой новым слайдом 0.2s, в анимации входа новых блоков. замена блоков должна быть инициирована при переходе к следующему слайду, как обычно.Как уже упоминалось, я не могу добиться этого без дополнительного щелчка между слайдами.

Я написал VBA-скрипт , который должен начинаться вместе с анимацией выхода и автоматически продвигать слайдчерез 0,3 с после завершения анимации выхода.Таким образом, я должен избавиться от тех лишних щелчков, которые нужны прямо сейчас.

Sub nextslide()
iTime = 0.3
Start = Timer
While Timer < Start + iTime
DoEvents
Wend
With SlideShowWindows(1).View
    .GotoSlide (ActivePresentation.SlideShowWindow.View.Slide.SlideIndex + 1)
End With
End Sub

Он хорошо работает, когда привязан к коробке, кнопке или другому объекту.Но я не могу заставить его работать одним щелчком мыши (в любом месте на слайде) , чтобы он мог запускаться вместе с триггером выхода из анимации при нажатии.Создание большой прозрачной прямоугольной формы по всему слайду и привязка к нему макроса также не помогают.При нажатии на него запускается только макрос, анимация выхода не запускается.В любом случае, я не хочу связывать макрос с каким-либо другим обходным объектом, кроме самого слайда.

Кто-нибудь знает , как запустить сценарий PowerPoint VBA при событии onclick слайда? Кто-нибудь знает секретную настройку , которая заставит анимацию выхода работать должным образом, то есть анимировать прямо перед выходом из слайда при переходе к следующему? Кто-нибудь знает, как победить этого дракона?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 04 февраля 2013

Вы также можете установить ПЕРЕХОДЫ (вкладка) -> Продвигать слайд через 00:00:00 секунд. Вам нужно будет установить СЛАЙД-ШОУ (вкладка) на «Использовать (репетицию) хронометража». Это автоматически продвинет слайд после последнего анимационного действия. Конечно, вы можете подождать несколько секунд, но похоже, что вы просто хотите продвинуть слайд.

2 голосов
/ 14 февраля 2012

Вы можете перехватывать события в powerpoint, используя модуль класса

В модуле класса

В левом комбо (объекте) в VBA Explorer вы можете видеть ppt и справа ваши события

Private WithEvents ppt As PowerPoint.Application

При обычном использовании модуля

set x= new class1

Теперь вы можете использовать все события презентации.

[] s

...