Outlook和VB.net - 向mailItem添加附件时的访问权限错误

时间:2012-12-13 07:31:32

标签: outlook-vba

在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文件夹

请有人帮助我解决这个谜团或给我一个提示,在哪里看? : - )

1 个答案:

答案 0 :(得分:0)

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