我需要一個Excel VBA來搜索已發送郵件中已發送郵件中的Outlook 2010郵件,並將其作爲「任務已完成」(有時,主題可能會有其他文本任務於07/01/2017完成或任務已完成01/09/2017);如果找到,則從指定的路徑中打開一個excel文件。VBA從Excel中搜索已發送郵件中的Outlook 2010郵件
我在谷歌搜索中發現了這個outlook VBA代碼,它顯示了搜索到的郵件,但是我希望代碼在excel中運行通配符搜索選項並打開excel。
我試圖尋找與通配符「*
」的主題,如「任務已完成*
」和「任務已完成上&格式(Date,‘日/月/年’)」爲其中我得到一個語法錯誤/編譯錯誤
Sub Test()
Dim olApp As Outlook.Application
Dim olNs As NameSpace
Dim Fldr As MAPIFolder
Dim olMail As Outlook.MailItem
Dim i As Integer
Set olApp = New Outlook.Application
Set olNs = olApp.GetNamespace("MAPI")
Set Fldr = olNs.GetDefaultFolder(olFolderSentMail)
i = 1
For Each olMail In Fldr.Items
If InStr(olMail.Subject, "Task Completed on 07/01/2017") <> 0 Then
olMail.Display
i = i + 1
End If
Next olMail
End Sub
我使用的Office 2010
讓我知道,如果你在試圖代碼我的答案如下,如果它對你有用 –
謝謝先生,我試過你的代碼,但我不想在Excel中存儲任何電子郵件ID或發送日期。其實我想在excel中運行一個宏,在任務完成時搜索Outlook郵件。我想讓你的代碼在excel中運行。請幫助我如何做到這一點,或者有什麼辦法可以在Excel中的window.open事件中調用此代碼? – Mallur
「子試驗() 昏暗olApp作爲Outlook.Application 昏暗olNs正如名稱空間 昏暗FLDR作爲MAPIFolder 昏暗olMail作爲Outlook.MailItem 昏暗我作爲整數 集olApp =新Outlook.Application 集olNs = olApp.GetNamespace ( 「MAPI」) 集FLDR = olNs.GetDefaultFolder(olFolderSentMail) I = 1 對於每個olMail在Fldr.Items 如果InStr函數(olMail.Subject, 「任務完成」)和InStr函數(olMail.SentOn,格式(Date - 1,「mm/dd/yyyy」))<> 0然後 olMail.Display i = i + 1 End If Next olMail E nd Sub' 我編輯了一些代碼,它在Outlook中工作正常,但可以在Excel VBA編輯器中使用此代碼並從那裏運行? – Mallur