2015-01-12 4 views

ответ

1

Не уверен, что я слышал это раньше, когда вы автоматически читали электронные письма. У вас есть два варианта:

а) Используйте Ctrl-A (выбрать все письма в папке), Ctrl-Q (выбор метки прочитанный)

б) Используйте новое что-то Email события как:

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 
+0

Спасибо за ответ. Как использовать макрос для определенной папки, а не для каждого элемента электронной почты? – RamBracha

+0

Я обновил свой ответ. Надеюсь, вы сочтете это полезным – Jeanno

+0

Похоже, пересмотренный процесс обработки кода mpfInbox для каждой полученной почты. ItemAdd для папки «work» будет подходящим. http://stackoverflow.com/questions/11263483/how-do-i-trigger-a-macro-to-run-after-a-new-mail-is-received-in-outlook – niton

0

Вы можете настроить правило, которое может вызвать ваш макрос.

Я бы не предложил работать с событием NewMailEx, потому что он не запускается в некоторых случаях и может возникнуть проблемы. См. Outlook NewMail event unleashed: the challenge (NewMail, NewMailEx, ItemAdd) для получения дополнительной информации.