Como obtenho um evento para disparar quando o slide é alterado no PowerPoint?

3

Eu já conheço duas supostas correções, que listarei abaixo, junto com a razão pela qual elas não funcionam para mim.

O primeiro é usar a sub-rotina SlideShowNextSlide . O problema com isso é que ele dispara o evento antes da transição, portanto não tenho como saber para qual slide está sendo transferido. Eu quero que o evento seja disparado ao entrar em determinados slides durante uma apresentação, não deixando certos slides. Não posso simplesmente adicionar um ao campo CurrentShowPosition porque não estou necessariamente avançando para o próximo slide; Eu poderia clicar em um hiperlink. Em suma, quero apenas disparar os eventos em algumas algumas transições do slide atual, mas com SlideShowNextSlide não tenho como saber se estou indo para o slide direito para disparar o evento. / p>

O segundo é usar a sub-rotina OnSlideShowPageChange . O problema com isso é que, como eu já salvei, fechei e reabrei minha apresentação de slides do PowerPoint uma vez, o PowerPoint simplesmente decide ignorar o código na sub-rotina.

Alguém tem alguma sugestão sobre o que eu posso fazer? Talvez uma maneira de corrigir um dos problemas acima mencionados? Estou usando o PowerPoint 2013 no Windows 8.1.

Aqui está o código que eu quero usar:

Private Sub EventHandler_SlideShowNextSlide(ByVal SSW As SlideShowWindow)
' The purpose here is to stop music playing in the background, which happens on certain slides.
' For my purposes, it's not enough to simply state how many slides to play the music over,
' because some slides that need the music stopped can occur before slides that need it playing.
Dim Change As Boolean
If SSW.View.CurrentShowPosition < 66 And ((SSW.View.CurrentShowPosition < 42 And SSW.View.CurrentShowPosition > 25) Or SSW.View.CurrentShowPosition Mod 2 = 0) _
Then
    ActivePresentation.Slides(1).Shapes("music file.mp3").Delete
    Change = True
End If
If Change Then Application.CommandBars.ExecuteMso "Undo"
End Sub
    
por Jordan Longstaff 25.07.2014 / 09:09

0 respostas