我在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