0
這是用於從Outlook收件箱檢索電子郵件並存儲其附件的腳本。用於從Outlook中檢索電子郵件的腳本
問題是無法正常工作。它能夠從未讀電子郵件中收集附件並將它們存儲到SavePath
中,但不知何故,它在閱讀三封電子郵件時正在停止。
奇怪的是,它能夠在再次執行時收集剩餘的電子郵件,但不是所有剩餘的未讀電子郵件。
例如:我在收件箱中有6封未讀電子郵件,第一次只執行3封電子郵件並收集其附件。第二次執行時,它會讀取下2封電子郵件。第三次執行時,剩下的電子郵件被讀取。
我無法弄清楚發生了什麼,爲什麼不是所有的電子郵件一次被讀取。
Dim SavePath
Dim Subject
Dim FileExtension
SavePath = "C:\IN\"
Subject = "'Transfer File'"
FileExtension = "ARmessage"
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objFolder = objNamespace.GetDefaultFolder(6) 'Inbox
Set colItems = objFolder.Items
Set colFilteredItems = colItems.Restrict("[Unread]=true")
Set colFilteredItems = colFilteredItems.Restrict("[Subject] = " & Subject)
For Each objMessage In colFilteredItems
intCount = objMessage.Attachments.Count
If intCount > 0 Then
For i = 1 To intCount
' if right(Ucase(objMessage.Attachments.Item(i)),9) = FileExtension then
objMessage.Attachments.Item(i).SaveAsFile SavePath & _
objMessage.Attachments.Item(i).FileName
' End If
Next
objMessage.Unread = False
End If
Next
感謝您的回覆德米特里。應用您的建議後,它現在啓動「語法錯誤」消息。 – equisde
對不起,我更新了上面的代碼片段。 –
現在我得到這個錯誤:'無效的循環控制變量' – equisde