0
点赞
收藏
分享

微信扫一扫

[AHK]给Outlook的工具条上的功能单独设置快捷键


网友(JOR-WoodSun木森 )提问:

各位好,请教一下:我想在Outlook中设置快捷键,自动完成如下操作,可以实现吗?

我想比如快捷键1标添加为今天待办,2添加明天待办,3添加本周待办。我想标记在自己的最新回复邮件上。


[AHK]给Outlook的工具条上的功能单独设置快捷键_Office

方案一、设置按钮的默认动作,鼠标党(缺点:每次都要设置)

[AHK]给Outlook的工具条上的功能单独设置快捷键_Outlook_02

[AHK]给Outlook的工具条上的功能单独设置快捷键_热键_03

方案二、系统自带热键, 键盘流  alt+h u t 之类



[AHK]给Outlook的工具条上的功能单独设置快捷键_Outlook_04




方案三、自己动手开发热键插件,程序猿

     由于outlook支持com编程,所以用AutoHotkey来实现outlook的二次开发,就是和vba操纵office系列似的,可以用ahk来操控office,下面截图就是用ahk操控excel工具条按钮的例子 :


[AHK]给Outlook的工具条上的功能单独设置快捷键_Office_05

但直接照搬不行,outlook和excel方式少许不同,在网上找到以下资料:

Office 2010 Help Files: Office Fluent User Interface Control Identifiers

在文档中找到以下关键信息:

[AHK]给Outlook的工具条上的功能单独设置快捷键_热键_06

下面就研究outlook的CommandBars对象如何调用,在网上找到以下资料:

Application.ActiveWindow 方法 (Outlook)

最终代码很简单,希望能抛砖引玉,希望读者能get更多技能。

【热键】


win+f  标记
win+g 清除标记 


#SingleInstance,force
#f::
ox:=ComObjActive("Outlook.Application")
;~ ox.Application.ActiveExplorer().CommandBars.ExecuteMso("FlagToday") ;这样不能在回复邮件时起作用
ox.Application.ActiveWindow().CommandBars.ExecuteMso("FlagToday")
return
#g::
ox:=ComObjActive("Outlook.Application")
ox.Application.ActiveWindow().CommandBars.ExecuteMso("ClearFlag")
return

代码自测可以在新建、回复、以及列表窗口使用






举报

相关推荐

0 条评论