我有代码将所有附件保存在特定的文件夹中。
当我在一个选定的电子邮件上运行它时,由于Outlook.MailItem为空,我得到了一个错误。
这是否需要修改才能处理选定的项目,而不是通过规则获取的电子邮件?
Public Sub saveAttachtoDisk2(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Set Totalmsg = itm.ReceivedTime
saveFolder = "C:\path\to\file"
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & Totalmsg & "." & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub发布于 2020-10-05 17:42:42
试试这个:
For Each objAtt In itm.Attachments
If Not objAtt Is Nothing Then
objAtt.SaveAsFile saveFolder & "\" & Totalmsg & "." & objAtt.DisplayName
End If
Next注意:没有必要为objAtt分配一个新值,并且/或者在退出sub时完全释放。
发布于 2020-10-06 00:46:53
您可以通过将itm变量设置为Application.ActiveExplorer.Selection.Item(1)来初始化它(省略了错误检查)
https://stackoverflow.com/questions/64203769
复制相似问题