【问题标题】:AutoHotKey macro scripting to open Outlook and create appointmentAutoHotKey 宏脚本打开 Outlook 并创建约会
【发布时间】:2015-05-18 15:35:07
【问题描述】:

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

当我使用热键使用 Outlook 创建新会议时,我想创建一个宏快捷方式,该快捷方式会将收件人电子邮件地址预填充给几个人,并将主题和位置设置为我想要的。

任何帮助将不胜感激。

谢谢 基申

【问题讨论】:

    标签: macros autohotkey


    【解决方案1】:

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

    编辑:根据 ahkcoder 的建议,我尝试了 COM 对象方法,并且能够让它为会议请求工作。这适用于 Outlook 2016。保持 Outlook 打开并点击“windows + y”以使用 COM 解决方案发出新的会议请求。在这里,COM 的屏幕更新较少,并且从长远来看似乎更可靠/更强大。在生产环境中使用它会让我感觉更舒服。

    #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
    

    【讨论】:

    • 非常感谢冷雨!!第二个脚本非常适合我。我正在使用 Outlook 2010,我在另一台运行 Outlook 2015 的计算机上尝试了该脚本,但该脚本未能运行,它在 MailItem.MeetingStatus := olMeeting 上给我一个错误,指出它无法识别。
    • @Coldrainwater - 在实施 COM 方面做得很好,很高兴我能提供帮助。继续学习。
    【解决方案2】:

    欢迎来到使用 AutoHotkey 轻松实现 Windows 自动化的美妙世界!您当然可以通过像 Coldrainwater 发布的那样简单、直接的脚本来完成很多任务。

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

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

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

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      相关资源
      最近更新 更多