2017-02-28 81 views
1

此線程中的代碼適用於單個電子郵件結果:Excel VBA for searching in mails of Outlook,但它只返回最新的電子郵件。從Outlook搜索中顯示多個相關結果

是否可以調整代碼以顯示多於1個結果?

,我從線程擁有的代碼是:

Option Explicit 

Public Sub search_outlook() 

    Dim outlookapp 
    Dim olNs As Outlook.Namespace 
    Dim Fldr As Outlook.MAPIFolder 
    Dim olMail As Variant 
    Dim myTasks 

    Dim projIDsearch As String 

    projIDsearch = ActiveCell.Cells(1, 4) 
    Set outlookapp = CreateObject("Outlook.Application") 

    'Set outlookapp = New Outlook.Application 
    Set olNs = outlookapp.GetNamespace("MAPI") 
    Set Fldr = olNs.GetDefaultFolder(olFolderInbox).Folders("ExemptionReview") 
    Set myTasks = Fldr.Items 

    For Each olMail In myTasks 
     If (InStr(1, olMail.Subject, projIDsearch, vbTextCompare) > 0) Then 
      olMail.Display 
      Exit For 
     End If 
    Next 

End Sub 

回答

1

取出Exit For。當找到匹配時,這退出循環:

olMail.Display 
Exit For  '<Remove this