Outlook 2010 Outlook 2010,将电子邮件复制到文件夹中,并将复制的电子邮件标记为已读,但将原始电子邮件保留为未读
我制定了规则,将包含特定关键字的电子邮件复制到特定文件夹,并标记为已读 我遇到的问题是,当它将这些电子邮件复制到文件夹时,会将收件箱中的原始电子邮件标记为已读,这可能会导致我错过邮件。 如果我没有将它标记为已读,那么当我在收件箱中阅读它时,它在特定文件夹中保持未读状态Outlook 2010 Outlook 2010,将电子邮件复制到文件夹中,并将复制的电子邮件标记为已读,但将原始电子邮件保留为未读,outlook-2010,Outlook 2010,我制定了规则,将包含特定关键字的电子邮件复制到特定文件夹,并标记为已读 我遇到的问题是,当它将这些电子邮件复制到文件夹时,会将收件箱中的原始电子邮件标记为已读,这可能会导致我错过邮件。 如果我没有将它标记为已读,那么当我在收件箱中阅读它时,它在特定文件夹中保持未读状态 我找不到任何规则属性来完成此任务,有人有什么想法吗?将规则设置为复制到目标文件夹,但不标记为已读 将此未测试的代码放入ThisOutlookSession模块中。假设目标文件夹位于收件箱的正下方。如果埋得更深,根据需要添加.Fol
我找不到任何规则属性来完成此任务,有人有什么想法吗?将规则设置为复制到目标文件夹,但不标记为已读 将此未测试的代码放入ThisOutlookSession模块中。假设目标文件夹位于收件箱的正下方。如果埋得更深,根据需要添加.Folders
Option Explicit
' one line for each target folder
Private WithEvents myOlItemsA As Outlook.Items
Private WithEvents myOlItemsB As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
' one line for each target folder
Set myOlItemsA = objNS.GetDefaultFolder(olFolderInbox).Folders("targetfoldernameA").Items
Set myOlItemsB = objNS.GetDefaultFolder(olFolderInbox).Folders("targetfoldernameB").Items
End Sub
' one copy of ItemAdd code for each target folder
Private Sub myOlItemsA_ItemAdd(ByVal item As Object)
On Error GoTo ErrorHandler
Dim Msg As Outlook.MailItem
If TypeName(item) = "MailItem" Then
Set Msg = item
Msg.Unread = False
End If
ProgramExit:
Set Msg = Nothing
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ProgramExit
End Sub
Private Sub myOlItemsB_ItemAdd(ByVal item As Object)
' same code as for myOlItemsA
End Sub
基于此帖子的代码
这些规则将邮件移动到目标文件夹。ItemAdd代码作用于添加到目标文件夹的项目。是否使用exchange?我认为outlook不会用exchange电子邮件将其标记为未读。其他电子邮件提供商(如gmail)可能会导致您的问题。作为解决方法,您可以将邮件移动到新文件夹,也可以将其邮件再次转发给您自己。@Mike Cheel不仅仅是标准的MS outlook2010@davidhigh可以工作,如果我找不到一个好的解决办法,我会试试这个。