我希望仅使用键盘和单个组合键(例如 Ctrl+Shift+A 和 Ctrl+Shift+U(仅作为示例))在 Outlook 2013 收件箱中切换查看全部电子邮件和未读电子邮件。
是否有这样的快捷方式,或者是否可以创建一个?
我最接近的做法是按 Ctrl+E 进入搜索框,然后按 Shift+Tab 跳转到未读,再按 Shift-Tab 跳转到全部,然后按 Space 进行选择。太麻烦了!
答案1
您可以在自动热键像这样:
#SingleInstance
#Persistent
SetTitleMatchMode 2
Hotkey, IfWinActive, Outlook ahk_class rctrl_renwnd32, NUIDocumentWindow
Hotkey, +u, ViewUnreadLabel
Hotkey, +a, ViewReadLabel
Hotkey, IfWinActive
SafeToRunMacro() {
IfWinActive, ahk_class rctrl_renwnd32
{
ControlGetFocus, CurrentCtrl
CtrlList = Acrobat Preview Window1,AfxWndW5,AfxWndW6,EXCEL71,MsoCommandBar1,OlkPicturePreviewer1,paneClassDC1,RichEdit20WPT2,RichEdit20WPT4,RichEdit20WPT5,RICHEDIT50W1,SUPERGRID1,SUPERGRID2,AfxWndW16,OutlookGrid1,NetUIHWND4
if CurrentCtrl in %CtrlList%
{
Return, True
} else {
Return, False
}
}
}
ViewUnreadFunc(NormalKey) {
if SafeToRunMacro() {
ControlClick, OutlookGrid1, ahk_class rctrl_renwnd32,,,, NA x60 y5
} else {
Send %NormalKey%
}
}
ViewReadFunc(NormalKey) {
if SafeToRunMacro() {
ControlClick, OutlookGrid1, ahk_class rctrl_renwnd32,,,, NA x5 y5
} else {
Send %NormalKey%
}
}
ViewUnreadLabel:
ViewUnreadFunc(A_ThisHotkey)
Return
ViewReadLabel:
ViewReadFunc(A_ThisHotkey)
Return
如果您有兴趣,可以将其编译为 .exe 文件,并在每次启动 PC 时启动它。我目前正在努力将其实现到我的 Outlook GTD 工具中。如果您有兴趣,可以了解更多信息AutoGTD.com
答案2
所以我最终采用了上述技巧的组合,谢谢大家!
- 创建了仅显示未读消息的自定义视图
- 创建了一个宏来在普通紧凑视图和仅未读消息视图之间切换
- 为宏创建了一个快速访问工具栏按钮,可以通过 Alt+与 QAT 上按钮位置相对应的数字来使用。
这是宏:
Sub SkifteView()
Dim ns As Outlook.NameSpace
Set ns = Application.GetNamespace("MAPI")
Dim Exp As Outlook.Explorer
Set Exp = Application.ActiveExplorer
Dim myInbox As Folder
Set myInbox = ns.GetDefaultFolder(olFolderInbox)
Set Exp.CurrentFolder = myInbox
If Application.ActiveExplorer.CurrentView.Name = "Compact" Then
Application.ActiveExplorer.CurrentView = "Only unread"
Else
Application.ActiveExplorer.CurrentView = "Compact"
End If
End Sub
答案3
我唯一想到的就是打开二Outlook 主窗口:一个用于收件箱另一个是未读邮件搜索文件夹(您可以右键单击它并选择在新窗口中打开)。
之后,您将能够使用ALT+在窗口之间切换TAB。
答案4
我创建了一个新视图(Compact 的副本),并将其设置为仅显示未读。然后将“更改视图”命令添加到我经常使用的快速操作工具栏。它仍然需要 2 次点击,但这是一个简单且快速的解决方案。