只需一次按键即可保存和发送 Outlook 宏

只需一次按键即可保存和发送 Outlook 宏

我在使用 G Suite Sync for Microsoft Outlook (GSSMO) 时遇到了一个问题,我认为这个问题相当常见。我的 G Suite 帐户运行正常,但我的 IMAP 帐户不允许我回复或转发电子邮件,而是弹出一个对话框“无法完成操作,因为服务提供商不支持”。这个问题几个月后才出现。解决这个问题的唯一方法是重新创建我的整个个人资料,这是一项艰巨的任务。我曾经这样做过,但现在正在寻找解决方法。

唯一的解决方法是在发送之前保存电子邮件(保存到草稿箱)。我总是忘记在发送之前按 Ctrl-S,所以我希望有一个宏可以将这两个简单的功能集成到一个命令中,这样我就可以使用未分配的按键来访问它 - 也许 Alt-G 或 Alt-Q 可以吗?我不太擅长 VBA,而且由于 Outlook 不支持录制宏,我希望有 VBA 向导可以启用此解决方案来帮助我和其他许多人。

答案1

下面是 AutoHotkey 脚本变体,它将 [Alt+S] 重新映射为发送 [Ctrl+S 后跟 Alt+S]。

中间显示 200 毫秒的延迟,因为它通常不引人注意,并且可以提高可靠性并减少无法处理连续击键的程序的不可预测行为(通常是在两者之间需要执行某些操作时 - 在本例中为保存草稿)。可以根据您的实际结果根据需要调整或删除延迟量。

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
;#Warn  ; Recommended for catching common errors.
#Persistent
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

; Nothing else in the auto-execute section, just return...

Return

; Shortcut triggered by pressing Alt+s...
#IfWinActive, ahk_exe OUTLOOK.EXE   ; Outlook (any window) must be active
$!s::                ; $ = Force keyboard hook so won't retrigger itself
    Send ^s          ; Send Control+s
    Sleep 200        ; May need to adjust if it takes time to save the Draft
    Send !s          ; Send Alt+s
Return

答案2

如果您安装自动热键那么您可以使用以下脚本。

!q::
SetTitleMatchMode, 2
IfWinActive, Message
{
 send, {Control Down}
 send, s
 send, {Control Up}
 send, {Alt Down}
 send, s
 send, {Alt Up}
}
  • 安装 AutoHotKey 后,将此脚本保存到扩展名为 .ahk 的文本文件中
  • 要在 Windows 中运行,请将脚本放入开始菜单的启动文件夹中。如果这对您来说更方便,Autohotkey 还有一个编译器可以将脚本转换为 exe 文件。
  • !q 是 Alt-Q 的热键。如果脚本处于活动状态,则只要您按下 Alt-Q,脚本就会运行。
  • 仅当活动窗口名称包含“Outlook”时它才会运行。
  • 它会发送您指定的按键。

相关内容