2017-03-14 5 views
2

特定の電子メールの添付ファイルを特定のフォルダにダウンロードする短いOutlook VBAマクロがあります。次のようにOutlookの添付ファイルが自動または適切にダウンロードされない - スクリプトを使用する

私の設定は次のとおりです。Outlookのルールについては

Apply this rule after the message arrives 
From ******@***.com 
And on this computer only 
Move it to the pricing folder 
And run Project1.saveAttachtoDrive 

マクロ設定:画像のデフォルトでは、マクロ設定で「すべてのマクロを有効にする」と設定されています。

コード:

Public Sub saveAttachtoDrive(itm As Outlook.MailItem) 
'Created by Selkie in order to automatically download attachments 
Dim objAtt As Outlook.Attachment 
'Shortening things 
Dim dt As Date 
'The date 
Dim saveFolder As String 
'We need to save the file somewhere 
dt = Format(Date, "MMDDYY") 
'Gotta get the date, and need it in a useable format 
saveFolder = "L:\*******\Testing Folder\" 
'Save location - change as needed 
    For Each objAtt In itm.Attachments 
    'For every attachment we get 
      objAtt.SaveAsFile saveFolder & dt & objAtt.DisplayName 
      'Save it 
      Set objAtt = Nothing 
    Next 
End Sub 

、私はかなり似た何かを実行しますが、電子メールを取得するときに、フォルダこすり代わりのトリガとして、私は与えられたファイルに添付ファイルをダウンロードするために管理します。

明らかに間違っているのですか?有効にしておく必要があるOutlook設定がありますか?あるいは、私はコードを完全にボルケーグしていますか? (私は3-4の異なる場所で見たものにかなり似ていますが、位置、コメント、日付の追加はユニークです "

+0

それは実行時に実際に*間違って何が起こっているのか*あなたが説明していませんでした?何が起こりますあなたの投稿のタイトルを除いて –

+0

メールは届きましたが、添付ファイルは保存されませんでしたので、予期しない動作になるでしょう – Selkie

答えて

2

あなたの問題はファイル名があなたとは違うことです。フォーマットから文字列の出力ではなく文字列として残りの日に戻って強制されるので、あなたは、日付としてdtを宣言した。

Sub Tester() 

    Dim dt As Date    '<< 
    dt = Format(Date, "MMDDYY") 
    Debug.Print dt    '>> 1/5/1986 :same as CDate("031417") 

    Dim dt2 As String    '<< Note 
    dt2 = Format(Date, "MMDDYY") 
    Debug.Print dt2    '>> 031417 

End Sub 
+0

ありがとうございました! ngマクロ> _> – Selkie

関連する問題