Я изменил некоторые коды для получения выбранных вложений сообщений на моем жестком диске, как показано ниже:
Public Sub SaveAttachments()
Dim objOL As Outlook.Application
Dim objMsg As Outlook.MailItem 'Object
Dim objAttachments As Outlook.Attachments
Dim objSelection As Outlook.Selection
Dim I As Long
Dim lngCount As Long
Dim strFile As String
Dim strFolderpath As String
Dim strDeletedFiles As String
Dim Counter As Long
strFolderpath = "D:\attachments"
If (Dir$(strFolderpath, vbDirectory) = "") Then
MsgBox "'" & strFolderpath & "' not exist"
MkDir strFolderpath
MsgBox "'" & strFolderpath & "' we create it"
Else
MsgBox "'" & strFolderpath & "' exist"
End If
' Get the path to your My Documents folder
'strFolderpath = CreateObject("WScript.Shell").SpecialFolders(16)
strFolderpath = strFolderpath & "\"
On Error Resume Next
' Instantiate an Outlook Application object.
Set objOL = CreateObject("Outlook.Application")
' Get the collection of selected objects.
Set objSelection = objOL.ActiveExplorer.Selection
' The attachment folder needs to exist
' You can change this to another folder name of your choice
' Set the Attachment folder.
strFolderpath = strFolderpath
' Check each selected item for attachments.
Counter = 1
For Each objMsg In objSelection
Set objAttachments = objMsg.Attachments
lngCount = objAttachments.Count
If lngCount > 0 Then
' Use a count down loop for removing items
' from a collection. Otherwise, the loop counter gets
' confused and only every other item is removed.
For I = lngCount To 1 Step -1
' Get the file name.
strFile = objAttachments.Item(I).FileName
' Combine with the path to the Temp folder.
strFile = strFolderpath & Counter & "_" & strFile
' Save the attachment as a file.
objAttachments.Item(I).SaveAsFile strFile
Counter = Counter + 1
Next I
End If
Next
ExitSub:
Set objAttachments = Nothing
Set objMsg = Nothing
Set objSelection = Nothing
Set objOL = Nothing
MsgBox "All Selected Attachments Have Been Downloaded ..."
End Sub
моя цель электронная почта использует сервис imap ...
этот код vb работает отлично!
но моя проблема в том, что когда загрузка закончится, у нас нет нужных файлов в папке вложений!
У меня в почтовом ящике 450 сообщений UNREAD , и все они имеют прикрепленные файлы ...
но у нас есть только 200 файлов в папке вложений! (создается верхними кодами)
как я могу исправить эту проблему?
кажется, что эта проблема связана с непрочитанными сообщениями и моей скоростью ADSL (но это не должно быть, я не знаю ?!)
Когда вы читаете письмо, кажется, что Outlook делает что-то с этим письмом, и в следующий раз, когда электронное письмо работает быстрее из-за его кэширования.
как я могу сделать эту работу для моих непрочитанных писем с верхними кодами?
или есть какие-то идеи по поводу этой проблемы?
наконец я был бы очень признателен за просмотр и добавить или исправить мои коды