0

在 MS Outlook 2003 VB 脚本中,我想将附件从一个 mailItem 复制到另一个。源 mailtItem 是一个模板消息。我正在使用的代码是这样的:

Sub copyAllAttachments(source, target)
  Dim fileName, i
  For i = 1 To source.Attachments.Count
    fileName = fileSystem.GetSpecialFolder(2) & "\" & source.Attachments.Item(i).FileName

    On Error Resume Next
    source.Attachments.Item(i).SaveAsFile(fileName)
    On Error Goto 0

    target.Attachments.Add fileName, 1
    fileSystem.DeleteFile fileName, True    
  Next
End Sub

这适用于 50 个用户,但是一个.. 他总是在行上出现错误,target.Attachments.Add fileName, 1说无法创建文件。并且他应该检查他要在其中创建附件的文件夹的访问权限。他的设置似乎与其他人没有什么不同,该文件夹是他的TEMP文件夹

谁能帮我解开这个谜团或给我一个提示,在哪里看?:-)

4

1 回答 1

0

您可以记录有问题的附件文件名吗?
您确定错误来自 Attachments.Add 行,而不是 SaveAsFile 行吗?
听起来您确实有一个带有无效文件名的附件 - Outlook 不执行验证,因此 Attachment.Filename 属性可能包含在 Windows 上不是有效文件名的值。或者它可能根本没有任何价值 - 您确实需要检查文件名的有效性,并且可能还有 Attachment.Type 属性:SaveAsFile 方法(甚至是 Filename 属性)对于例如嵌入的 OLE 附件将失败。

于 2013-01-29T23:16:11.120 回答