在 Outlook 中删除时标记为已读?

x3j*_*3ja 5 microsoft-outlook microsoft-outlook-2007 microsoft-outlook-2010

我希望 Outlook 将我删除的所有邮件标记为已读。对于奖励积分,我希望它只对我在按下删除之前打开/预览过的消息执行此操作,因为这意味着我已经查看了内容并选择将其删除。

我知道我可以将它设置为在 x 秒后在我查看它时标记为已读,这不是我想要的。我也知道我可以离开消息并返回到它或右键单击以标记为已读 - 仍然不是我想要的。

我正在使用 Outlook 2007,以防万一。

[编辑:我刚刚发现我至少可以使用键盘快捷键标记为已读:Ctrl-Q,但同样,不必这样做就好了。更多快捷方式在这里。]

[Edit2:我现在使用 Outlook 2010 :)]

小智 5

嗯,我做到了,但我猜不会得到奖励积分...

我正在运行 Outlook 2010,所以我可以使用一个名为“快速访问”菜单的新功能,您可以在其中将操作链定义为带有快捷键的单个按钮(不幸的是,它必须是Ctrl+ Shift+ NUM,所以因为我想要当我按下 时要运行这个动作Delete,我必须做一个额外的步骤。见下文。)

在 Outlook 2007 中,您仍然可以定义宏。我从关于同一主题的另一个条目中窃取了这个:

http://www.formortals.com/outlook-macro-mark-as-read-delete/

Sub DeleteAndMarkAsRead()
    Dim oItem As Object
    Dim oMailItem As MailItem
    Dim oRSSItem As PostItem

    If Application.ActiveExplorer.Selection.Count = 0 Then
        Exit Sub
    End If

    For Each oItem In Application.ActiveExplorer.Selection
        If oItem.Class = olMail Then
            Set oMailItem = oItem
            oMailItem.UnRead = False
            oMailItem.Delete
        End If
    Next

    Set oItem = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)

然后,您可以将宏添加为按钮并为其分配快捷方式:

http://www.howto-outlook.com/howto/macrobutton.htm

然后为了能够在我按下时运行它Delete,我使用了AutoHotKey并将以下内容添加到我的脚本文件中:

#IfWinActive Inkorgen - 
    ;
    Del::       
        Send ^+1
    return
#IfWinActive
Run Code Online (Sandbox Code Playgroud)

后面的部分#IfWinActive是我的 Outlook 窗口的标题(标题)(“Inkorgen”是瑞典语中的“收件箱”仅供参考...),因此您必须对其进行更改以反映 Outlook 窗口的标题。

Send ^+1告诉AutoHotkey的模拟Ctrl+ Shift+1按键(这是我的宏(快速访问键)的快捷键)。

(有一种方法可以匹配窗口的类名 (ahk_class),但这对我有用,所以我不会费心去找出它。)