【VBA】Outlookを利用してメールを送信する

パソコンに
 ・Outlookをインストール済み
 ・アカウント設定済みでメール送信可能
ならば、Excel VBAからメールを送信できます!

ファイルの添付もできます!

PR

前提

・Outlookがインストール済みであること
・アカウント設定等も実施済みで、メールの送信が可能であること

Outlookを起動させておく必要はありません。
※もちろん起動していても問題ありません。

PR

VBAコード

例として、ここではデスクトップ配下のテキストファイル「aiueo.txt」を添付します。

Sub sendMailSample()

    Dim objApp As Object
    Dim objMail As Object
    
    Set objApp = CreateObject("Outlook.Application")
    Set objMail = objApp.CreateItem(0)
    
    With objMail
        '宛先(To)
        .to = "XXXXX@gmail.com"
        '宛先(Cc)
        .cc = "XXXXX@gmail.com"
        '宛先(Bcc)
        .bcc = "XXXXX@gmail.com"
        'タイトル
        .Subject = "Test Email"
        '書式(1:テキスト形式、2:HTML形式)
        .BodyFormat = 1
        '本文
        .Body = "VBAから送信します。" & vbCrLf & "よろしくお願いいたします。"
        '添付ファイル
        .Attachments.Add "C:\Users\XXXX\Desktop\aiueo.txt"
        '送信を実行
        .Send
    End With
    
    '後片付け
    Set objMail = Nothing
    Set objApp = Nothing
    
End Sub

7行目の「objApp.CreateItem(0)」によって、「MailItem」を取得します。

取得した「MailItem」に各種設定をします。
※「宛先」など。

「Attachments.Add」に「ActiveWorkbook.FullName」を指定すると、上記のVBAを実行させているExcelファイルを添付できます。

25行目の「MailItem」の「Send」により、送信が実行されます。

PR

実行結果

メールが送信され、受信できました。

PR

参考①

Excel VBAから会議依頼メールを送信する方法については、以下の記事をご確認ください。

PR

参考②

上記のVBAコードで使用した「MailItem」の詳細については、公式サイトをご確認ください。

タイトルとURLをコピーしました