我想在Outlook 2013中使用一个宏。这个宏应该将任何到达特定文件夹('work'文件夹)的电子邮件标记为已读。我不熟悉vb。非常感谢任何帮助/指导!
答案 0 :(得分:1)
不确定,我之前听过这个想要自动阅读的电子邮件。您有两种选择:
a)使用Ctrl-A(选择文件夹中的所有邮件),Ctrl-Q(标记选择为已读)
b)使用新的电子邮件事件,例如:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
vID = Split(EntryIDCollection, ",")
Dim i as Long, objMail as Outlook.MailItem
For i = 0 To UBound(vID)
Set objMail = Application.Session.GetItemFromID(vID(i))
objMail.Unread = False
Next i
End Sub
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
' version to select folder
Dim i As Long, objMail As Outlook.MailItem, mpfInbox As Outlook.Folder
Set mpfInbox = Application.GetNamespace("MAPI").Folders("YOURACCOUNT").Folders("[Gmail]").Folders("Sent Mail")
For i = 1 To mpfInbox.Items.Count
If mpfInbox.Items(i).Class = olMail Then
Set objMail = mpfInbox.Items.Item(i)
objMail.UnRead = False
End If
Next i
End Sub
答案 1 :(得分:0)
您可以设置一个可以触发宏的规则。
我不建议使用NewMailEx事件,因为在某些情况下它不会被触发,并且可能会引入问题。有关详细信息,请参阅Outlook NewMail event unleashed: the challenge (NewMail, NewMailEx, ItemAdd)。