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

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

ファイルを添付することもできます!

前提

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

Outlookを起動させておく必要はありません。

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

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

実行結果

メールが送信され、受信することが出来ました。

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