如何使用 AutoHotKey 执行 Outlook 2010 宏?

如何使用 AutoHotKey 执行 Outlook 2010 宏?

我发现无法将自定义键盘快捷键绑定到我为 Outlook 2010 编写的宏,于是我转向 AutoHotKey 并找到了一个可行的解决方案,但它很笨拙。这是一个脚本,我还有两个执行不同宏的脚本。

#IfWinActive, Inbox
^!1::
Send, {ALTDOWN}{F8}{ALTUP}
WinWaitActive, ahk_class #32770, Macros, 0
Send, ActionSelectedMessages{ALTDOWN}r{ALTUP}
return

它发送 Alt-F8 来打开宏对话框,等待窗口打开,然后发送宏的名称,然后按 Alt-R 来运行它。这很有效,但对话框打开和关闭时速度很慢,而且很难看。

所以我的问题是,是否有任何方法可以从 AutoHotKey 执行 Outlook 宏,并且不会像此解决方案一样引起任何界面副作用?

答案1

事实证明这相当容易做到。我已经将我的三个宏添加到 Outlook 功能区中的主页条,并发现您无法像在旧工具栏中添加项目时那样绑定快捷键。但我没有注意到的是,快捷键会自动分配给新功能区项目,如屏幕截图所示。

替代文本

知道这一点后,就可以通过三个按键来调用这些函数;Alt-H,然后是 Y1、Y2 或 Y3。进一步,我修改了 AutoHotKey 脚本以发送这些按键,现在已将它们简化为单个按键 Alt-1、Alt-2 和 Alt-3。以下是脚本。

#IfWinActive, ahk_class rctrl_renwnd32
!1::
Send, {ALTDOWN}H{ALTUP}Y1
return

!2::
Send, {ALTDOWN}H{ALTUP}Y2
return

!3::
Send, {ALTDOWN}H{ALTUP}Y3
return

答案2

我能够通过将其添加到快速访问工具栏来实现类似的效果。右键单击您想要热键的任何按钮,将其设置为快速访问工具栏,它就会自动获得ALT+#组合。

答案3

您是否编写过 Visual Basic for Applications (VBA) 宏,但又不想通过“宏”对话框运行它?打开“自定义”对话框,在“类别”下选择“宏”,然后将宏拖到工具栏上。宏名称往往很长且不美观,因此请右键单击宏按钮并更改宏的名称。如果您经常使用宏,请添加一个 & 符号以设置热键。

来源:http://www.windowsitpro.com/article/outlook-2000/adding-hot-keys-and-tool-bar-buttons.aspx

也许您可以在 Outlook 2010 中以相同的方式完成此操作?

如果没有,您将需要编写一个附加组件而不是宏...但这将是一个 StackOverflow 问题。

相关内容