思い出作りのためExcelからメールを送信できるのか試してみた
Excel VBAでメールを送信できるとは知らなかったが、以下のリンクを参考にしてVBAの思い出のひとつにするべく実験してみた。
【エクセルVBA】Outlookでメールを作成・送信する方法
ツールの参照設定でMicrosoft Outlook XX.X Object Libraryへの参照を追加する。
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 'メール本文
了