非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Outlook/VBA: メールをボタン1つで指定フォルダに保存するマクロ

   

開いているOutlookメールをボタン1つで指定フォルダに保存するプログラムです。

これを作った理由は、仕事で「あとでやる」と判断したメールを後になって一覧から探すのが面倒だったため、指定フォルダに保存しておこうと思ったからです。イチイチ「名前をつけて保存」なんてやったら面倒なので、Outlookのリボンにマクロボタンを仕込んで一発で保存するようにしました。

ボタン化についても最後に別記事のリンクになりますが紹介します。

[ad#top-1]

まずは完成したプログラムの動き

こちらが、あとで処理しようと思った受信メールだとします。添付ファイル付きです。リボンに「メール保存」というアイコンがあります。これにメール保存マクロが仕込まれています。これを押すと…、

 

…このように指定フォルダに保存されます。

 

開いてみると、Outlookから見たメールと同じものが参照できます。添付ファイルも見れます。

 

この業務が終わったらフォルダ内のメールを消せば良いわけで、仕事の効率は結構上がりましたので、このやり方はおすすめです。

 

ソースコード

Outlookに仕込んだマクロは以下のと通りです。

Sub メール保存()
  Dim myItem As Outlook.Inspector
  Dim objItem As Object

  Set myItem = Application.ActiveInspector
  Set objItem = myItem.CurrentItem
  strname = objItem.Subject

  strname = Replace(strname, " ", "")
  strname = Replace(strname, ":", ":")
  strname = Replace(strname, "\", "¥")

  objItem.SaveAs "C:\Users\...\メール保存\" & strname & ".msg"

End Sub
 

 

ポイントは、Replaceでスペースを消して、「:」と「\」を2バイト文字に置換している点です。タイトルがそのままファイル名になるのでパスに使うキーワードは別の文字に変換した方が良いでしょう。※スペースはもしかして消さなくてよかったかも。念の為です。

 

Outlookマクロの書き方とリボンへボタンを設置する方法

Outlookマクロの書き方についてはこちらの記事をご覧ください。

 

リボンへのボタンを設置する方法はこちら。マクロを一発で実行できて便利です。

 

[ad#ad-1]

スポンサーリンク

 - Outlook, VBA