Программно получить предыдущую / следующую анимацию в PowerPoint VBA - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь управлять анимацией слайдов с помощью кнопок действий в PowerPoint VBA. Мне удается перейти к следующей и предыдущей анимации на текущем слайде, используя sendKeys.

Кнопки действий в основном запускают макросы displayPrevious и displayNext следующим образом:

Sub displayPrevious()
    SendKeys ("{LEFT}")
End Sub

Sub displayNext(ByRef oShp As Shape)
    SendKeys ("{RIGHT}")
End Sub

Однако это приводит к нежелательной функции. После последней анимации следующая кнопка переключает следующий или предыдущий слайд.

Один из способов, которым я думаю сделать это, может быть, заставить следующий или предыдущий быть выполненным, и если это слайд изменений, просто не запускайте sendkeys.

Или, может быть, я думаю, что это неправильный путь, и может быть более простое решение?

1 Ответ

1 голос
/ 28 апреля 2020

Наконец-то удалось найти (работающее, но не идеальное) решение.

В основном просто проверяется текущая анимация, воспроизводимая с getClickIndex, и сравнивается с 0 для предыдущего и getClickCount для следующего.

Sub displayPrevious()
   If ActivePresentation.SlideShowWindow.View.GetClickIndex <> 0 Then
        SendKeys ("{LEFT}")
    End If
End Sub

Sub displayNext()
    If ActivePresentation.SlideShowWindow.View.GetClickIndex <> ActivePresentation.SlideShowWindow.View.GetClickCount Then
        SendKeys ("{RIGHT}")
    End If
End Sub
...