用于打开 Outlook 和创建约会的 AutoHotKey 宏脚本

AutoHotKey macro scripting to open Outlook and create appointment

我是 AutoHotKey 的新手,我认为它是一个很棒的快捷方式工具。

当我使用 HotKey 创建新会议时,我想创建一个宏快捷方式,该会议将 pre-populate 发送给几个人的电子邮件地址,并将主题和位置设置为我想要的。

如有任何帮助,我们将不胜感激。

谢谢 基申

它不是特别健壮或优雅,但下面的代码在我的机器上运行良好。在没有其他 outlook windows 的情况下将 outlook 运行 打开到收件箱进行测试。按 'window + u' 将首先查找近似的 window 匹配项(您也可以使用 ahk_class)并发送击键以模拟创建新会议。如果您尚未使用 outlook 2016,则需要将 'outlook preview' 更改为其他内容。

edit:根据 ahkcoder 的建议,我尝试了 COM Object 方法并且能够让它为会议请求工作。这适用于 Outlook 2016。保持 outlook 打开并点击 'windows + y' 以使用 COM 解决方案提出新的会议请求。此处 COM 的屏幕更新较少,并且在 long-term 中看起来会更多 reliable/robust。我觉得在生产环境中使用它会更舒服。

#u::
Settitlematchmode, 2
Winactivate, Outlook Preview
WinWaitActive, Outlook Preview
Sleep 60
SendInput {altdown}h
Sleep 60
SendInput i
Sleep 60
SendInput e
Sleep 60
SendInput {altup}
Sleep 60
Winactivate, Untitled - Meeting
WinWaitActive, Untitled - Meeting
Sleep 60
SendInput myemailaddress@outlook.com;someotheremail@outlook.com
Sleep 60
SendInput {space 2}
Sleep 60
SendInput {tab}
Sleep 60
SendInput mysubject
Sleep 60
SendInput {tab}
Sleep 60
SendInput mylocation
return

#y::
app := ComObjActive("Outlook.Application")
olAppointmentItem := 1 ;1 is the olItemType Enumeration for Appointment
olMeeting := 1 ; olMeeting is an appointment so initialize to 1 here also.
MailItem := app.CreateItem(olAppointmentItem)
MailItem.MeetingStatus := olMeeting
MailItem.Subject := "mysubject"
MailItem.Recipients.Add("firstemail@gmail.com")
MailItem.Recipients.Add("secondemail@gmail.com")
MailItem.Location := "mylocation"
MailItem.Display
return

欢迎来到使用 AutoHotkey 轻松 Windows 自动化的美妙世界!您当然可以通过简单直接的脚本(如 Coldrainwater 发布的脚本)完成许多任务。

但只要知道 AutoHotkey 多年来已经实现了一些高级功能,其中最著名的是 COM 对象、DLL 函数调用、面向对象编程。

当您阅读了帮助文件并复习了基础知识后,也许您会在此处考虑使用 Outlook COM 对象参考:

http://www.autohotkey.com/board/topic/71335-mickers-outlook-com-msdn-for-ahk-l/

祝你好运!