毎朝、ある人から電子メールが届き、スプレッドシートが添付されています。これらの電子メールをキャッチするOutlookルールを作成することができました。さて、これらのそれぞれからの添付ファイルをファイル名YYYY-MM-DD.xlsでローカルフォルダに自動的に保存することは可能ですか?
メールの添付ファイルにはランダムに生成されたファイル名があるため、ファイル名を選択するには、メールが送信された日付を取得する必要があります。注意:これは私のラップトップにあるので、私が受信した日以外の日に電子メールが送信される可能性があります(たとえば、1日の電源がオフになっている場合)。実行可能なオプションではありません。
編集: Outlook2013でWindows7を使用する
やりたいことを行うには、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
拡張子が付けられます)。それを変更したい場合は、ルールを変更するか、オフにする必要があります。