Sub Merge_daily_emails1()
Dim myOlApp As New Outlook.Application
Dim myNameSpace As Outlook.Namespace
Dim myInbox As Outlook.MAPIFolder
Dim Atch As Object
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
Dim filteredItems As Outlook.Items
Dim itm As Object
Dim strFilter As String
strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " like '%Daily Reports%'"
Set filteredItems = myInbox.Items.Restrict(strFilter)
AttachmentPath = "H:\"
If filteredItems.count > 0 Then
For Each itm In filteredItems
If itm.Attachments.count <> 0 Then
For Each Atch In itm.Attachments
Atch.SaveAsFile AttachmentPath & Atch.Filename
Exit For
Next
Else
MsgBox "Does not Have an Attachment"
End If
Next
End If
Set myOlApp = Nothing
End Sub
您好,我當你看到我試圖下載所有從我的收件箱中的電子郵件包含在其主題行中的「每日報告」的附件。我面臨的問題是,我下載的一些文件(Excel)出來是0kb大小,只是他們的名字爲「@」,而當我打開他們在展望他們似乎打開罰款。我最好的猜測是,因爲這封電子郵件是舊的,並使用企業文件庫系統打開,我無法以正確的方式下載文件。有沒有人遇到類似的情況?下載附件的大小0KB只有「@」作爲自己的名字
編輯(ddate as Date)參數是我用於搜索的開始日期,我已經刪除了代碼以使它更簡單,現在它將搜索整個收件箱。
代碼是否運行良好的實踐
請參閱MSDN? '(ddate as Date)' – 0m3r
@ Om3r感謝您指出這一點,我編輯了代碼並完美運行。 – Meesha