我有规则设置将一些电子邮件移动到不同的文件夹中。我希望这仍然显示通知区域中的信封,但规则向导中没有选项来执行此操作。看起来我要么必须有规则“运行脚本”或“执行自定义操作”,分别允许vba或c / c ++。
其他人有更好的解决方案吗?
答案 0 :(得分:1)
查看MailAlert,这是一个完全符合要求的Outlook插件。它仍然可以在Outlook 2007中运行(虽然我最近再次安装它时出现了一些不稳定因素,这可能与也可能不相关)。
答案 1 :(得分:1)
刚刚发布的新版Mail Alert将允许您控制通知图标以及弹出警报和声音警报。以下是2.0中的一些新功能:
答案 2 :(得分:1)
您也可以使用但在代码中执行类似规则的操作来实现 not 。例如:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim mai As Object
Dim strEntryId
For Each strEntryId In Split(EntryIDCollection, ",")
Set mai = Application.Session.GetItemFromID(strEntryId)
If mai.Parent = "Inbox" Then
If mai.SenderEmailAddress = "the-email-address-the-rule-applies-to" Then
mai.Move Application.GetNamespace("MAPI").GetFolderFromID("the-entry-ID-of-the-folder-you-want-to-move-the-message-to")
End If
End If
Set mai = Nothing
Next
End Sub
如何获取文件夹ID (即文件夹的entryID):
这只是一种手动方式,您可以进行递归过程,但出于简单目的,这很好。例如,我的结构如下:
Mailbox - My_Name_Here
Inbox
The Subfolder I'm Looking For
Sent Items
...
所以在立即窗口中我输入了:
? Application.GetNamespace("MAPI").Folders(1)
并增加了号码,直到我收到“Mailbox - My_Name_Here”
然后,我打字:
? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(1)
增加号码,直到我收到“收件箱”。
然后:
? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(the_number_of_my_Inbox).Folders(1)
增加数量直到我得到“我正在寻找的子文件夹”
然后:
? Application.GetNamespace("MAPI").Folders(the_number_of_my_mailbox).Folders(the_number_of_my_Inbox).Folders(the_number_of_the_subfolder_i_was_looking_for).EntryID
就是这样:我想要将消息移动到的文件夹的entryID。你明白了,我确定:)
答案 3 :(得分:1)
在规则向导的第1步中有一个“显示桌面警报”选项。它成功了。编辑具体规则时可以运行此向导。