2013-07-24 39 views
1

我添加了一個小區內時,自定義右鍵單擊菜單項的快捷菜單按內進行編輯時:Excel的VBA執行自定義菜單項細胞

Private Sub AddTheMenuItem(myCommandBar As Office.CommandBar, caption As String, action As String) 
    Dim NewControl As CommandBarButton 

    Set NewControl = myCommandBar.Controls.Add(Type:=msoControlButton, temporary:=True) 

    With NewControl 
     .caption = caption 
     .OnAction = action 
     .Picture = Application.CommandBars.GetImageMso("WrapText", 16, 16) 
     .Style = msoButtonIconAndCaption 
    End With 

End Sub 

菜單項顯示效果細膩,但沒有的潛艇執行。我只是得到一個'平'的聲音。我嘗試過使用peekmessage進行遊戲,並且我可以看到右鍵單擊,顯示菜單,但不是左鍵單擊選擇菜單項。看起來該消息不會傳遞給任何正在等待的VBA代碼。

我想我試圖做到這一點的方式將無法正常工作,但我希望得到任何建議,以獲得這項工作。對於我的應用程序,在單元格內爲用戶提供適當的菜單項很重要。

謝謝你在前進,

AZ

+0

適合我。你確定你試圖達到的子是在適當的範圍內嗎? – dennythecoder

+0

當我修改「外部」「單元格」菜單時,子目錄執行正常,只有當我嘗試在單元格內調用新的右鍵單擊菜單時,纔會收到「平」聲。 – user2615484

+0

謝謝Layman編碼器,你能更明確嗎?我修改了「編輯欄」的右鍵菜單,當你編輯單元格內容時,右鍵菜單處於活動狀態,而我嘗試執行的子文件是公開且可見的,但不會執行 - 我只是從Excel中獲得「ping」聲音。 – user2615484

回答

0

製作舒爾你的OnAction值是一個字符串或將在菜單設置啓動。 .OnAction = SUBNAME將失敗 而 .OnAction =「SUBNAME」會成功 只要 子SUBNAME
是一個對象模塊中,而不是表或工作簿模塊中。