2010-06-05 79 views
1

我在幻灯片上有一个“mynote”文本框。如果我执行:Powerpoint vba上的奇怪错误

Sub test() 

      If ActiveWindow.Selection.SlideRange.Shapes("mynote").Visible Then 
       MsgBox "ok" 
      End If 
end sub 

它的工作原理。

,但如果我附上一个形状与本宏:

Sub test(oShape As Shape) 

      If ActiveWindow.Selection.SlideRange.Shapes("mynote").Visible Then 
       MsgBox "ok" 
      End If 
end sub 

它不工作(没有错误信息,没有“OK”消息)

+0

嗯,也许它适合你,但在我的PPT它不会触发事件。 – user310291 2010-06-27 19:58:59

+0

对不起:)我只是想点击一张图片时显示一张纸条,我很惊讶我不能这样做! – user310291 2010-08-01 19:25:34

+0

你是如何执行这个方法的?这是否会触发某个地方的点击事件?你有没有试过设置一个断点,看看第二个方法是否被执行? – froeschli 2010-09-23 19:56:29

回答

2

这将取决于你如何从调用它另一个子程序 - 你必须发送一个形状。像:

Sub testYourTest() 
    Dim sh As Shape 
    Set sh = ActivePresentation.Slides(4).Shapes(1) 
    test sh 
End Sub 

,因为它期待您在Shape对象发送您不能运行test独立。但是看到您的oShape对象没有被用在您的test例程中,那么您可以将其删除。

+0

我在点击图片时调用它,因此它发送了一个图形,但仍然无法使用。 – user310291 2010-08-01 19:24:38