VBA例程与Powerpoint中的对象无关

时间:2014-08-15 17:48:38

标签: powerpoint-vba

我很抱歉新手问题,但我根本无法解决这个问题。

我已经为powerpoint对象附加了大量回调,以便在点击它们时我可以更改它们。

Private Sub CommandButton1_Click()
ActivePresentation.Slides(1).Shapes("Grey Box").ZOrder msoSendToBack
ActivePresentation.Slides(1).Shapes("Suggest Box").ZOrder msoSendToBack
CommandButton1.Visible = False
End Sub

这项工作很好。断点激活,代码有效。

我希望在幻灯片更改时调用一些代码。我还希望在演示开始时调用一些代码。关于这个主题有很多建议,我无法使用它 - 可能是因为我犯了同样的错误或假设。

我已将以下代码复制到第1单元:

Public Sub OnSlideShowPageChange(ByVal Wn As SlideShowWindow)
   If Wn.View.CurrentShowPosition = 3 Then
       'Perform Updates for slide #3
       Shapes("TextBox 51").ZOrder msoBringToFront
   End If
End Sub

Sub OnSlideShowPageChange()
    Dim i As Integer
    i = ActivePresentation.SlideShowWindow.View.CurrentShowPosition
    If i <> 1 Then Exit Sub
    MsgBox "Insert your code here"
End Sub

我用断点来解决这个问题......代码永远不会被调用。

我有两个问题:

  1. 如何在幻灯片更改时调用其中任何一个例程?
  2. 某处有这些自动事件的好清单吗?
  3. 谢谢,

    金属扣眼

1 个答案:

答案 0 :(得分:0)

最后想出来了......以为我会回答我自己的问题,万一其他人遇到这个问题。

我一次打开2个powerpoint演示文稿。我将代码添加到正确的代码中,因为当我关闭代码并使用代码重新打开代码时,它会立即生效。

不确定到底发生了什么,但它现在有效。