每当收到来自特定发件人的电子邮件时,Outlook规则就会执行代码。它会自动从电子邮件中提取PDF附件,并将它们放入指定的文件夹中。
我们已经使用了9个月了。
从10/22左右开始,它在DAKSave部分中的 For Each oAttachment In MItem.Attachments
行Error 424 Object Required.
崩溃。
我尝试将文件夹更改为本地文件夹,同样的错误。当我尝试使用代码时,在不同的计算机上也会发生此错误(包括以前能够使用该特定代码的计算机)。
我已在regedit中启用了EnableUnsafeClientMailRules。
为什么不起作用?为什么直到现在仍有效?
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "S:\Fax\FAX AUTODUMP\"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub
Sub DAKSave()
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "S:\Fax\FAX AUTODUMP\"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub
我愿意接受可以完成相同自动化任务的建议。
答案 0 :(得分:1)
您丢失的邮件项目对象,因此请尝试使用ActiveExplorer.Selection.Item(1)
Option Explicit
Sub DAKSave()
Dim sSaveFolder As String
sSaveFolder = "S:\Fax\FAX AUTODUMP\"
Dim MItem As Outlook.MailItem
Set MItem = ActiveExplorer.Selection.Item(1)
Dim oAttachment As Outlook.attachment
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub
答案 1 :(得分:0)
MItem
不会作为参数传递给DAKSave
子。 MItem
中的DAKSave
未定义。仅在SaveAttachmentsToDisk
子项中可用。