2010-06-05 78 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