【Excel/VBA】Outlookを利用してメールを作成、送信する

VBAから
 ・メールを作成し送信
できます!

メールを作成し送信する方法は
 ・Outlookを使用する方法
 ・CODを使用する方法
の2種類あります!

この記事では
 ・Outlookを使用する方法
を記載します!

CODを使用する方法は、
以下の記事をご確認ください!



PR

前提

VBAからOutlookのメールを送信するためには、以下が必要です。

VBAからOutlookのメールを送信するために必要なこと
  • Outlookがインストール済みであること。

  • アカウント設定等も実施済みで、メールの送信が可能な状態であること。

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

PR

VBAコード

ここでは例として、
 ・Outlookを利用して
 ・デスクトップ配下のテキストファイル「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

「objApp.CreateItem(0)」によって、「MailItemオブジェクト」を取得します(7行目)。

「MailItemオブジェクト」の各プロパティに、各種設定をします(11~23行目)。
※「宛先(Cc)」など。

「Attachments.Add」に「ActiveWorkbook.FullName」を指定すると、上記のVBAを実行させているExcelファイルを添付できます(23行目)。
※上記ではデスクトップ配下のテキストファイル「aiueo.txt」を添付しています。

「MailItemオブジェクト」の「Send」メソッドにより、メールが送信されます(25行目)。

PR

実行結果

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

送信されたメール
送信されたメール
PR

参考①

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

PR

参考②

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●「MailItemオブジェクト」の「各プロパティ」、「Send」メソッド等

PR

参考③

Outlookを使用せずにメールを送信することもできます。

詳細は以下の記事をご確認ください。