VBAからメールを配信するには「MailItem」を使用すると便利です。
事前準備
「ツール」-「参照設定」を開きます。
Microsoft Outlook 16.0 Object Library
を選択します。
コーディング
Dim objOutlook As Object
Set objOutlook = New Outlook.Application
HTML形式で送付する場合
objMail.BodyFormat = olFormatHTML
テキスト形式で送付する場合
objMail.BodyFormat = olFormatPlain
宛先を指定します。
objMail.to = "info@XXX.co.jp"
複数宛先に送付する場合は[;]で区切って複数指定できます。
objMail.to = "info@XXX.co.jp;info2@XXX.co.jp"
のような形になります。
「objMail.CC」、「objMail.BCC」も設定できます。
件名の指定
objMail.Subject = "お知らせ"
本文の指定
objMail.Body = "(宛先各位)" & vbCrLf & vbCrLf & "お世話になっております。" & vbCrLf & "添付にてご報告いたします。" & vbCrLf & vbCrLf & "以上、宜しくお願い致します。"
添付ファイルの追加
Call objMail.Attachments.Add("c:\temp\報告書.xlsx")
メール送信の表示
objMail.Display
メール送信
objMail.Send
備考
この方法でメールを送信する場合、対象のPCにメールプロファイルが作成されていることが前提です。
設定されているプロファイルのユーザーからメールが送信されます。