我在Windows 7的Outlook 2010中編寫VBA並希望將宏(或子例程)的名稱作爲字符串變量傳遞給另一個子例程並讓這個例程運行宏。在Word中,您可以使用 Application.Run MacroName:= strMacroName 其中strMacroName是具有宏名稱的字符串變量。該方法在Outlook 2010中不起作用。我該如何完成同樣的事情? 我試圖在Outlook 2010 VBA中運行名稱作爲參數傳遞的宏
Call Application.strMacroName
Call strMacroName
strMacroName
在自己的行Outlook.Application.strMacroName
沒有這些事情的來龍去脈。
我剛剛升級到Outlook 2010,因此不能再使用鍵盤快捷鍵來運行處理電子郵件的自定義代碼。因此,爲了恢復某些版本的功能,我創建了代碼來顯示一個對話框,其中包含我最常用的宏。隨着時間的推移,代碼變得相當乾淨,並傳遞了我想運行的宏的名稱,但我曾經可以在一個命令(Application.Run MacroName:=strMacroName
)中運行該例程。
現在我必須包含一個長開關語句來完成同樣的事情。幾乎沒有那麼簡單。
謝謝!
CallByName()?儘管如此,這並不比你的選擇案例更好。事實上,我不確定它是否適用於Outlook。而你的潛艇必須包含在類模塊中。 – 2012-03-13 03:16:06
@Tim CallByName存在於Outlook VBA中,無論它是否有效我還沒有檢查。 – JimmyPena 2012-03-13 19:36:42
我試過CallByName(),但到目前爲止沒有運氣。看來我不得不跳過不少編碼環節才能實現這個目標。 – Jeff1265344 2012-03-14 18:42:17