在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文件夹
请有人帮助我解决这个谜团或给我一个提示,在哪里看? : - )
答案 0 :(得分:0)
您能否记录有问题的附件文件名?
您确定错误来自Attachments.Add行,而不是SaveAsFile行吗?
这听起来好像你有一个无效文件名的附件 - Outlook不执行验证,因此Attachment.Filename属性可能包含一个在Windows上不是有效文件名的值。或者它根本没有任何价值 - 你真的需要检查文件名的有效性,也可能需要检查Attachment.Type属性:SaveAsFile方法(甚至Filename属性)将失败,例如,嵌入的OLE附件。