安心してください。
独学文系サラリーマンの私ですら半日でメールを送るマクロを作ることができました。
今回はマクロでアウトルックを使い、ファイルを添付してメールを送る方法をご紹介します。
まずは↓の記事を参考にしてマクロを開いてください。
動画作りました↓
※独学コードのため使用は自己責任でお願いします。
目次
マクロでoutlookを使いこなす!
この記事を参考にしていただくと、↓のことが実現可能です。
- マクロでアウトルックを起動
- メールにファイルを添付
- メールの送信
マクロでoutlookを制御してメールを送信
マクロの起動ボタンを押せば、指定のファイルを指定の人に自動で送れるようになります。
また、今回ご紹介するマクロを少しアレンジすれば、自動でファイルを作成し、それを適切な宛先にファイルを添付して送信といったこともできちゃいます。
アレンジ記事については今後公開予定です。
マクロでoutlookを起動
1 2 3 4 5 |
Dim oApp Set oApp = CreateObject("Outlook.Application") Set myNameSpace = oApp.GetNamespace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(6) myFolder.Display |
文系サラリーマンが業務でマクロを使いこなすコツとしては、式の深い意味は考えない!(プロから怒られそうですが…)
この式はこういうもの!とみなし、式をブロックで認識して使いまわすようにしましょう。
マクロでメールにファイルを添付
1 2 3 4 |
Dim Wm_ITEM Set Wm_ITEM = oApp.CreateItem(0) Wm_ITEM.Display Wm_ITEM.Attachments.Add Sheets("sheet1").Cells(2, 3).Value & "\" & "テスト.xlsx" |
重要なのは4行目!
”Wm_ITEM.Attachments.Add”のあとに続く、sheets~からが添付ファイルです。
今回はサンプルとしてマクロが書いているブックのsheet1のセルC2(2行目,3列)にファイルがある場所(C:\Users\Public\Documents)を入力しています。
次に”¥”(表示上は”/”)を入力して、最後にファイル名”テスト.xlsx”を記載しております。
直接、セルC2(2,3)にファイル名までを記載してもよかったのですが、それだと指定したファイルしか添付できません。
「何言ってんねんおっさん」
要するに、マクロで自動作成したファイルをメールに添付することを見越して、このような式にしています。今後、この方法についての記事も公開しますので少々お待ちください。
なので、あなたがマクロでメールにファイルを添付したい場合↓をしてください。
- sheet1にこれから入力するシート名を入力
- ①のシートの任意のセルに添付ファイルがある場所を入力
- 場所を入力したセルの座標をマクロに(2,3)のところに入力
- 添付ファイル名を”テスト.xlsx”に入力(拡張子まで)
例えば、”売上報告”というシートの”セル(5,10)”に、添付ファイルの場所を記載して、ファイル名が“2019年4月.xlsx”だった場合、記載する式はこうなります。
1 |
Wm_ITEM.Attachments.Add Sheets("売上報告").Cells(5, 10).Value & "\" & "2019年4月.xlsx" |
マクロでアウトルックの宛先・CC・本文を入力
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Dim Msg As String Dim Send_to As String Send_to = Sheets("sheet1").Cells(2, 4).Value Wm_ITEM.Subject = "売上報告" & Format(Now, "mmdd") Wm_TO = Send_to Wm_CC = "aa@gmail.com;bb@gmail.com" Wm_ITEM.To = Wm_TO Wm_ITEM.cc = Wm_CC Msg = "本日の売上報告です。" & vbCrLf _ & "ご確認ください。" & vbCrLf & vbCrLf _ & "〇部うんこたれぞう" Wm_ITEM.Body = Msg |
大丈夫です。書いているのは宛先と件名と本文だけです。
まず”Send_to”で宛先を指定します。
ここに直接アドレスを記入してもよかったのですが、今後エクセル上に入力されているアドレスを自由に取ってこれるようにアドレスが入力されている場所を指定しています。
“Wm_ITEM.Subject”は件名です。”Format(Now, “mmdd”)” を入力すると”、今日の日付が4桁数字で表示されます。
“Wm_CC”はCCです。今回はサンプルとして直接アドレスを入力しています。複数人に送信する時は”;”で区切りましょう。
Msg“以下が本文です。改行する場合は”vbCrLf”と入力します。
マクロでアウトルックのメールを送信

いよいよメールの送信です。マクロでメールを送る式はとても簡単。
1 |
Wm_ITEM.Send |
これでメールが送信されます。
マクロを使えばメールの自動化も夢じゃない!
今回ご紹介した式を上から順にマクロに貼り付けて、自分用にアレンジすれば完成です。
仕事中にアウトルックをずっと起動している人は一番上の起動式は必要ありません。
今後、マクロで自動に添付ファイルを作成し、ファイルによって送信する宛先を変える式をご紹介できればと思います。