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

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

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

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

編集: Windows 7 と Outlook 2013 を使用する

答え1

必要なことを行うには、VBA とルールを少し組み合わせる必要があります。使用している Outlook のバージョンが不明なので、ここでは保証できません。これは Outlook 2010 でテストされました。

この記事は設定に役立ちます -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)。これを変更するには、ルールを変更するか、無効にする必要があります。

関連情報