今回は、VBAを使用し、Excel上に入力したデータでOutlookを使用したメールを送信する方法を紹介します。
・事前準備
①VBEを開き、「ツール」→「参照設定」→「Microsoft Outlook XX.X Object Library」のライブラリにチェックを入れて、OKをクリックします。
②以下のような、フォーマットをExcel上に作成する。
・使用するコード
Sub Sendmail()
'変数を指定
Dim OL As Outlook.Application
Dim OLM As Outlook.MailItem
Set OL = New Outlook.Application 'outlookを起動する操作
Set OLM = OL.CreateItem(olMailItem) '新しいメールを作成する操作
With OLM
.To = Range("B1") 'Toの宛先を決めます。
'.Cc = Range("B2") 'Ccの宛先を決めますが、今回は使用しないのでコメントアウトしています。
.Subject = Range("B3") '件名を決めます。
.Body = Range("B4") '本文を決めます。
End With
OLM.Send 'メールを送信する操作
'以下、メールを閉じる操作
Set OL = Nothing
Set OLM = Nothing
MsgBox "送信完了" '動作が終わってことを確認するためのメッセージを表示(必須ではない)
End Sub
・結果
B2に入れた宛先に、それぞれ入力した項目の内容を送信することができます。
・まとめ
毎日の日報に使うのがおすすめです。今回は、紹介していませんが、添付ファイルをつけることが可能なので、幅広く使用できると思います。毎回、新しいメールを作成、件名、宛先入力など、するよりかは、Excel上でフォーマットを作成して、そこからメールを送信するほうが楽だと思います。日報で日付の入力はがある場合は、Excelならtoday関数を使えばExcelを開くだけで勝手にその日の日付になるので、手間が省けると思います。