【ExcelVBA】Outlookからメールを送信する方法


はじめに

ExcelVBAを使用し、メールを自動送信する方法を備忘メモに残す。

大まかな流れ

<事前準備>
1:ExcelVBE内の参照設定
<スクリプトを記載>
2:「Outlookからメールを送信する」内容をVBE内に書く

1:ExcelVBE内の参照設定

ExcelVBE内の設定を行わないと、Outlookを起動させる要素が使用できないので、まずは参照設定を行う。

①:Excelを起動し、VBE(【開発】タブ→Visual Basic)を開く

②:VBE内の【ツール】タブ→参照設定を押下

③:Microsoft Outlook 1x.0 Object Libraryにチェックし、OKを押下

2:「Outlookからメールを送信する」内容をVBE内に書く

①:以下をコピペし、実行

Sub outlook_mailsend()

'Outlookオブジェクト生成
Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Set objOutlook = New Outlook.Application
Set objMail = objOutlook.CreateItem(olMailItem)

'各種設定
With objMail
    .To = "[email protected]" 'メール宛先
    .CC = "[email protected];[email protected]"
    .Subject = "testメール" 'メール件名
    .Body = "test" & vbCr & "です。" 'メール本文
    .Attachments.Add "C:\zzz.txt" '添付
    .BodyFormat = olFormatPlain 'メールの形式
    .Send

End With

End Sub