VBA メール送信 Outlook

未分類

VBAでメールを送信するには、Outlookを操作する方法が最も一般的で簡単です。以下に、Outlookを使ってVBAでメールを送信する方法を詳しく紹介します。


✅ 基本ステップ

【Step 1】参照設定の追加(推奨)

VBAエディタで以下の操作をしてください:

  1. Alt + F11でVBAエディタを開く
  2. メニュー「ツール」→「参照設定」
  3. Microsoft Outlook xx.x Object Library」にチェックを入れる

※この設定をしなくても「CreateObject」を使えば動作しますが、IntelliSense(候補表示)が使えるようになります。


📨 メール送信の基本コード(Outlook使用)

Sub メール送信()

Dim olApp As Object ' Outlook.Application
Dim olMail As Object ' Outlook.MailItem

' Outlook起動(すでに起動していれば既存インスタンスを使う)
Set olApp = CreateObject("Outlook.Application")
Set olMail = olApp.CreateItem(0) ' 0 = olMailItem

' メール内容を設定
With olMail
.To = "recipient@example.com" ' 宛先(To)
.CC = "cc@example.com" ' CC(必要に応じて)
.BCC = "bcc@example.com" ' BCC(必要に応じて)
.Subject = "VBAからのメール送信テスト" ' 件名
.Body = "これはVBAから送信されたテストメールです。" ' 本文(テキスト)
'.HTMLBody = "<b>HTML形式の本文も可能です。</b>" ' HTML形式も可
'.Attachments.Add "C:\パス\ファイル.txt" ' 添付ファイル(必要に応じて)
.Send ' または .Display で表示のみ
End With

' クリーンアップ
Set olMail = Nothing
Set olApp = Nothing

End Sub

💡 ポイント解説

項目解説
.To宛先のメールアドレス(カンマ区切りで複数指定可能)
.Subject件名
.Body / .HTMLBody本文(プレーン or HTML)
.Attachments.Add添付ファイル(フルパス指定)
.Sendすぐに送信
.Display送信前にメール作成画面を表示(手動で確認)

🛡️ 注意事項

  • Outlookがインストールされている必要があります。
  • セキュリティポリシーにより、自動送信時に警告が出ることがあります(特に企業環境)。
  • .Send を使うと即送信されます。確認したい場合は .Display を使ってください。
タイトルとURLをコピーしました