こんにちは、RPAライターのやまもとてつやです。
- VBAでOutlookメールを作成したい
- VBAでメールを作るのって難しいのかな?
- オブジェクトや参照設定のやり方を知りたい
当記事では、上記のような疑問にお答えします。
VBAに限らずプログラミングを覚えると、定型作業がいろいろ楽になります。
しかし、VBAを覚えるとメール業務も効率化できるのはご存知でしょうか。
僕は37歳で正社員になってからVBAを覚え、Excel以外にも日報のようなメール業務も効率化してきました。
定時ダッシュが当たり前の今、空き時間は副業Webライターで月に10万ほど稼いでいます。
当記事では、VBAを使ってOutlookメールを自動で作成する準備と方法について解説します。
- Outlookメールを自動化するための準備がわかる
- 参照設定の使い方がわかる
- メール作業が効率化できる
ぜひ1度読んでみてください。
VBAでメール作成するメリット
VBAでメール作成すると、誤送信が減らせます。
以下の項目が自動設定できるためです。
- 宛先
- Cc
- 件名
- 本文
昨今、メール誤送信による事件が後をたちません。
たとえば、とある電力会社では誤って別の契約者に送信したために個人情報が流出する事件が起きました。
もし、毎日定型メールを送っていれば自動化すべきです。
VBAでメールを送信する前に行う参照設定
まずは、参照設定を行いましょう。
Excelを開いたら、Alt+F11でVBEを開いてください。
そして、メニューバーの中にある「ツール」→「参照設定」の順にクリックします。
![excel_reference](https://life-is-simple.blog/wp-content/uploads/2020/08/excel_reference.png)
次に「Outlook x.xx Object Library」という項目にチェックをつけます(x.xxの部分はバージョンです)。
チェックを入れてOKをクリックすれば完了です。
VBAでメールを作成するオブジェクトの設定方法
参照設定ができたら、実際にコードを入力してみましょう。
下記が完成したコードです。
Option Explicit
Sub メール作成()
'メール作成時のおまじない
'Outlookアプリケーションオブジェクトの取得
Dim MyOutlook As Outlook.Application
Set MyOutlook = New Outlook.Application
'メールitemオブジェクトの取得
Dim Mailitem As Outlook.Mailitem
Set Mailitem = MyOutlook.CreateItem(olMailItem)
'メールの表示
Mailitem.Display
End Sub
8行目と9行目でOutlookを起動し、12・13行目がメールを作成するコードです。
16行目のコードを入れると、作成したメールが確認できます。
ひとまずは、これをコピペで使いましょう。
実行すると、下記のようにメールの下書きが表示されます。
![outlook_mailitem](https://life-is-simple.blog/wp-content/uploads/2020/08/outlook_mailitem-1024x643.jpg)
まとめ
以上、VBAでOutlookメールを作成するまでの参照設定とメール作成方法を解説しました。
次は宛先や件名を入れていくので、次の記事をお読みください。