思い出作りのためExcelからメールを送信できるのか試してみた

Excel VBAでメールを送信できるとは知らなかったが、以下のリンクを参考にしてVBAの思い出のひとつにするべく実験してみた。
【エクセルVBA】Outlookでメールを作成・送信する方法

ツールの参照設定でMicrosoft Outlook XX.X Object Libraryへの参照を追加する。

f:id:willwealth:20211010181943p:plain
VBAProject参照設定
Sub SendEmail()

Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Dim wsMail As Worksheet

Set objOutlook = New Outlook.Application
Set wsMail = ThisWorkbook.Sheets("sheet1")

Set objMail = objOutlook.CreateItem(olMailItem)

With wsMail

    objMail.To = .Range("A1").Value       'メール宛先
    objMail.Subject = .Range("B1").Value   'メール件名
    objMail.BodyFormat = olFormatPlain     'メールの形式
    objMail.Body = .Range("C1").Value      'メール本文

    objMail.Send
End With

Set objOutlook = Nothing
MsgBox "送信完了"

End Sub

HTML形式にするときはフォーマットの指定とBodyではなくHTMLBodyに設定することに注意。

    objMail.BodyFormat = olFormatHTML     'メールの形式
    objMail.HTMLBody = .Range("C1").Value      'メール本文