0

MS Outlook 2003 VBスクリプトで、添付ファイルを1つのmailItemから別の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人のユーザーで問題なく機能しますが、1人です。彼は常にtarget.Attachments.Add fileName, 1ファイルを作成できないというエラーが表示されます。また、添付ファイルを作成するフォルダーのアクセス権を確認する必要があります。彼の設定は他のフォルダーと変わらないようです。フォルダーは彼のTEMPフォルダーです。

誰か、この謎を解くのを手伝ってくれたり、どこを見ればいいのかヒントを教えてくれませんか?:-)

4

1 に答える 1

0

問題のある添付ファイル名をログに記録できますか?
エラーは、SaveAsFile 行ではなく、Attachments.Add 行から発生したものですか?
無効なファイル名の添付ファイルがあるようです。Outlook は検証を実行しないため、Windows では有効なファイル名ではない値が Attachment.Filename プロパティに含まれている可能性があります。または、値がまったくない可能性があります。ファイル名の有効性と、おそらく Attachment.Type プロパティも確認する必要があります。SaveAsFile メソッド (または Filename プロパティでさえも) は、たとえば、埋め込まれた OLE 添付ファイルに対して失敗します。

于 2013-01-29T23:16:11.120 に答える