こんにちは、くのへ@MasazaneKunoheです。
エクセルでメールが作れるって知っていましたか?
今日はその基本コードを紹介します。
エクセルでメールを作る基本コード
↓エクセルVBAにこのコードをコピペすれば動くと思います。
Sub エクセルでメール作成()
Dim appOL As Object
Set appOL = CreateObject("Outlook.Application")
Dim objMail As Object
Set objMail = appOL.CreateItem(0) '0:メールアイテムのこと
With objMail
.to = "XXX@xx.jp"
.cc = "YYY@xx.jp"
.bcc = "ZZZ@xx.jp"
.Subject = "Test"
.body = "Testメール"
.display '作成メールをウィンドウ表示する
' .Save '作成メールを下書き保存する
' .Send '作成メールを送信ボックスへ送る
End With
Set appOL = Nothing
Set objMail = Nothing
End Sub
上記コードを使うとエクセルでOutlookメールが作れます。
コード中の詳細はこちら
.to:宛先
.cc:CC宛先
.bcc:BCC宛先
.Subject:件名
.body:本文
最後の.display、.Save、.Sendは、コードにメモした通り、ウィンドウ表示・下書き保存・送信ボックスから送信、を表しています。
下書き保存したい場合は、頭の「’ (シングルクオーテーション)」を消し、.displayの方に「’」を付けてください。
エクセルでメールを作るメリット
エクセルでメールを作るメリットは、以下ようなものがあります。
①エクセルをメールのテンプレート集として使うことが可能。
「マイ定型メール」を蓄積することが出来る
②エクセルVBAを習得している人なら、簡単にコーディングできる
例えば、For文を使って多量のメールを一気に作成できる
例えば、エクセルでこのようなシートを作成し、次のコードを記載します
Sub エクセルでメール作成_テスト()
Dim appOL As Object
Set appOL = CreateObject("Outlook.Application")
Dim objMail As Object
Set objMail = appOL.CreateItem(0) '0:メールアイテムのこと
With objMail
.to = Cells(2, 3).Value
.cc = Cells(3, 3).Value
.bcc = Cells(4, 3).Value
.Subject = Cells(5, 3).Value
.body = Cells(6, 3).Value
.body = .body + vbCrLf + Cells(7, 3).Value
.display '作成メールをウィンドウ表示する
' .Save '作成メールを下書き保存する
' .Send '作成メールを送信ボックスへ送る
End With
Set appOL = Nothing
Set objMail = Nothing
End Sub
これを実行すると、こんなメールが出来上がります。
このメールを作りこんで保存しておくと、シート一つ一つが作りこまれたテンプレートとして扱うことが出来るようになり、本当に便利になります。
「参照設定」を使う方法
参照設定、という機能を使うと、エクセルVBAでOutlook.Applicationを使えるようになります。
ということは、ExplorerやInspectorまで操れます。
また、「olMailItem」のようなOutlookでしか定義されていない「ol」で始まるオブジェクトもSet出来るようになります。
この参照設定を使う方法は別途記事にします。
エクセルでメールを作る方法については、Web上の情報供給量は割と十分あるように思います。
それだけ便利なので、是非使って欲しいと思います。
ではまた別の記事で~
🦅バサバサ~