2016-05-04 10 views
0

これは私がこれまで持っているものです。見通しVBA別の名前として複数の添付ファイルを保存する

Public Sub saveAttachtoDisk(itm As Outlook.MailItem) 
Dim objAtt As Outlook.Attachment 
Dim saveFolder As String 
saveFolder = "P:\ME\TEST\" 
Dim dateFormat 
dateFormat = Format(Now, "yyyy.mm.dd") 
For Each objAtt In itm.Attachments 
     If InStr(objAtt.FileName, "ASDFA ADSF.pdf", vbTextCompare) > 0 Then 
     objAtt.SaveAsFile saveFolder & dateFormat & " ASDF ASDF.pdf" 
     ElseIf InStr(objAtt.FileName, "GASD.pdf", vbTextCompare) > 0 Then 
     objAtt.SaveAsFile saveFolder & dateFormat & " ASDF ADSF ADD.pdf" 
     ElseIf InStr(objAtt.FileName, "ASDF AD.pdf", vbTextCompare) > 0 Then 
     objAtt.SaveAsFile saveFolder & dateFormat & " ASDF ASDF.pdf" 
     ElseIf InStr(objAtt.FileName, "ASDF AS.pdf", vbTextCompare) > 0 Then 
     objAtt.SaveAsFile saveFolder & dateFormat & " asd asdf.pdf" 
     Else 
     objAtt.SaveAsFile saveFolder & "Caught" 
    End If 
    Set objAtt = Nothing 
Next 
End Sub 

私はプライバシーのためにランダムな文字を使用していました。私はルールとVBAを使用して日付の前に特定の名前として電子メールの添付ファイルを自動保存するという見通しを得ようとしています。私はここで間違って何をしていますか?

+0

あなたが取得している結果とは何ですか?エラーが表示されていますか、正しく表示されていませんか? – GibralterTop

+0

何も起こりません。何も保存されません。ルールは実行されていて、メッセージをread.Ifとしてマークすると、そのルールは私の名前に固有なものになります。メールを自分宛てに転送してから添付ファイルを保存するかどうかを確認します。それはVBAのプロジェクト1の下にあるスクリプトを実行します。スクリプトはモジュール2にあります(削除されたモジュール1なので、それは2だと思います)。 –

答えて

0

私はあなたがP:\ME\TEST\に書き込む許可を持っていないか、あなたのIfステートメントを保存していないと思います。

あなたは> 0であるためにあなたのIfラインを設定したい:

If InStr(objAtt.DisplayName, "BBB AAA.pdf") > 0 Then 

任意の文字がその名前以外の最初の位置にある場合、それはIfの内側に行くことはありません。もちろん、それはあなたが望む行動かもしれません。追加することにより、

それはIfたstatments内当たっていない場合は、テストすることができます。

Else 
    objAtt.SaveAsFile saveFolder & "not caught.pdf" 
End If 

あなたがElseコードを追加して保存し取得しない場合は、ローカルのドキュメントフォルダに保存してください。それでもまだ保存がない場合、MailItemには添付ファイルがありません。

EDIT: は次のようになります。

VBA Editor

+0

私はパーミッションを持っていて、0を試してみました。助言がありますか?私はそれを打つためにそれ以上の方法を知らない。これは、クライアントが唯一のルールであり、私はそれが役立つ可能性がある場合、サーバーに保存しようとしています。 –

+0

'For Each'ループにブレークポイントを設定して、' For Each'に入るかどうかを確認しましたか? – GibralterTop

+0

どうすればいいですか?私は文字通りVBAの新しいブランドですので、本当に助けに感謝します! –

関連する問題