Мы используем общий почтовый ящик Outlook, и нам нужно сохранить некоторые вложения из этого письма. Мне нужен макрос:
- Разрешить пользователю выбирать несколько электронных писем и сохранять все вложения в выбранном
- Разрешить пользователю выбирать, в какую папку сохранять вложения (это каждый раз будет отличаться)
- Добавьте
ReceivedTime
к имени файла, так как мы получаем несколько вложений электронной почты с тем же именем, но они всегда приходят в разные дни - Не хочу изменять исходное электронное письмо любым способом (не удаляйте вложение и не добавляйте примечания к электронному письму)
Вот код, который у меня есть, я никогда раньше ничего не писал в Outlook, и я комбинировал разные строки из макросов, которые я нашел. При этом макрос не работает. Я получаю сообщение об ошибке
«Ошибка выполнения 91:» объектная переменная или с не заданной блочной переменной »в обеих строках с« *** »
. Я удаляю dateFormat
из макроса и SaveAs
, и по-прежнему появляется ошибка времени выполнения в строке SaveAs
.
Sub saveAttachment()
Dim objOL As Outlook.Application
Dim objMsg As Outlook.MailItem
Dim objAtt As Outlook.Attachment
Dim objSel As Outlook.Selection
Dim lngCount As Long
Dim sFolder As String
Dim dateFormat As String
***dateFormat = Format(objMsg.ReceivedTime, "yyyy-mm-dd")***
Dim xlObj As Excel.Application
Set xlObj = New Excel.Application
' Open the select folder prompt
With xlObj.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then ' if OK is pressed
sFolder = .SelectedItems(1)
ElseIf .Show = 0 Then
MsgBox "Failed to select folder to save attachements to"
Exit Sub
End If
End With
xlObj.Quit
Set xlObj = Nothing
Set objOL = CreateObject("Outlook.Application")
Set objSelection = objOL.ActiveExplorer.Selection
For Each objMsg In objSelection
Set objAttachments = objMsg.Attachments
lngCount = objAttachments.Count
If lngCount > 0 Then
***objAtt.SaveAsFile sFolder & "\" & objAtt.FileName & dateFormat***
Else
MsgBox "No attachements selected"
End If
Next
End Sub
Мы используем Office365, на случай, если это имеет значение. Любая помощь будет очень востребована .