2008-11-11 167 views
2

我試圖在雙擊Visio形狀時運行宏。將參數傳遞給VBA宏

我想將形狀對象傳遞給VBA宏,以便我可以在宏中執行一些操作,具體取決於Shape對象的ID。

是否可以將參數傳遞給VBA宏。如果是,請告訴我如何?

謝謝。

回答

1

您可以將宏作爲EventDblClick事件放置在要觀看的形狀上。爲此,您可以使用CallThis函數(http://msdn.microsoft.com/en-us/library/aa212649(office.11).aspx)在每次雙擊形狀時調用宏。

雖然這需要您修改您想要觀察的每個形狀的形狀圖。如果您要爲想要觀看的形狀提供主圖形,則不應該是一個大問題,否則,您必須編寫代碼來將該事件添加到要觀看的每個形狀(儘管您可以使用文檔上的Document_ShapeAdded事件將事件添加到形狀表(每當添加形狀時))

1

當您單擊一個對象時,Selection會更改。您可以使用宏中的Selection對象來引用當前選定的對象。

我不確定宏是否可以雙擊運行,但我的VBA體驗不是來自Visio。隨着一些谷歌搜索出現,這似乎有可能。如果您將它作爲Button放置在CommandBar上,即使在上下文菜單中也需要付出更多的努力,在任何情況下,您都將被限制爲不帶參數的Sub過程。