web-dev-qa-db-ja.com

特定のルールに一致するメールの添付ファイルを自動的に保存します

毎朝、ある人から電子メールが届き、スプレッドシートが添付されています。これらの電子メールをキャッチするOutlookルールを作成することができました。さて、これらのそれぞれからの添付ファイルをファイル名YYYY-MM-DD.xlsでローカルフォルダに自動的に保存することは可能ですか?

メールの添付ファイルにはランダムに生成されたファイル名があるため、ファイル名を選択するには、メールが送信された日付を取得する必要があります。注意:これは私のラップトップにあるので、私が受信した日以外の日に電子メールが送信される可能性があります(たとえば、1日の電源がオフになっている場合)。実行可能なオプションではありません。

編集: Outlook2013でWindows7を使用する

1
Jarmund

やりたいことを行うには、VBAとルールを少し混ぜる必要があります。使用しているOutlookのバージョンがわからないため、ここでの保証はありません。これはOutlook2010でテストされました。

この記事は、設定を行うのに役立ちます- Outlookに添付ファイルを自動的に保存するルール

以下のコードは、yyyy-mm-ddの名前形式でファイルを保存するために固有に変更されています。

Public Sub SaveToDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat

dateFormat = Format(Now, "yyyy-mm-dd")

'Change this path to the your folder location
saveFolder = "c:\temp\"

objAtt.SaveAsFile saveFolder & "\" & dateFormat & ".xls"

Set objAtt = Nothing

End Sub

このスクリプトを実行するようにこのルールを設定すると、この人からの添付ファイルを受け取るたびに保存されます(そして、.xls拡張子が付けられます)。それを変更したい場合は、ルールを変更するか、オフにする必要があります。

2
CharlieRB