Excel業務を行っていると、Outlookでメール送信するシーンが頻繁に発生します。日次報告・集計結果の送付・定型文の案内・エビデンス資料の自動送信など、同じ作業を何度も繰り返している担当者も多いのではないでしょうか。
しかし、Outlook VBAの構文はやや複雑で、「メール作成 → 宛先設定 → 本文 → 添付 → 送信」 の流れをすべて自力で書くのは時間がかかります。さらに、宛名や本文、添付ファイルの条件分岐が入ると、コード量は一気に増えてしまいます。
そんな中、ChatGPTを活用すれば、Outlook送信マクロのコード化が非常に簡単になります。プロンプトを入力するだけで実務向けのVBAを自動生成してくれるため、「送る内容」「条件」「添付の仕様」を伝えるだけで、自動化可能なOutlook送信処理が完成します。
本記事では、ChatGPTを使って Outlook送信VBAを作成する方法、活用例、プロンプト例、業務での応用 を詳しく解説します。
目次
- ✅ ChatGPTを使ってOutlook送信マクロを作成するメリット
- ・自分で複雑なOutlookオブジェクトモデルを理解しなくて良い
- ・条件分岐や添付ファイルの判定を柔軟に組み込める
- ・既存業務のメールテンプレをコード化しやすい
- ・通常30分かかるコード作業が数分で完了する
- ✅ ChatGPTへ依頼するプロンプト例(そのまま使える)
- ▶ プロンプト例:基本のOutlook送信VBA
- ▶ よく使う追加条件
- ✅ ChatGPTが生成する代表的なOutlook送信VBA
- ✅ コードの仕組みをわかりやすく解説
- ・Outlook.Application
- ・MailItem
- ・.To / .CC / .BCC
- ・.Subject
- ・.Body
- ・.Attachments.Add
- ・.Display / .Send
- ✅ ChatGPTに追加依頼すると便利なOutlookVBAカスタム例
- ① 複数宛先の自動送信
- ② 添付ファイルを自動追加
- ③ 本文に改行やテンプレートを自動挿入
- ④ シート内の表を本文に転記
- ⑤ 条件によって本文を切り替える
- ✅ 実務で頻出のOutlook送信VBAのパターン
- ❗ Outlook送信VBAでよくあるトラブルと回避方法
- ・Outlookの参照設定が必要な場合がある
- ・メールが即送信されてしまう
- ・添付パスが正しくない
- ・署名が反映されない
- ❗ ChatGPTを使う上での注意点
- ・会社のメールテンプレをそのまま送らない
- ・完成コードは実行前に必ず内容チェック
- ・Outlookバージョン差に注意
- ❗ RPA(UiPath)× Outlook送信VBA は相性抜群
- ✅ まとめ:ChatGPTを使えばOutlook送信VBAは誰でも作れる
✅ ChatGPTを使ってOutlook送信マクロを作成するメリット
・自分で複雑なOutlookオブジェクトモデルを理解しなくて良い
Outlook.MailItem、Attachments、Namespace など、VBAでは構造が複雑なため初心者には難しく感じます。ChatGPTはこれらを簡潔な形で自動生成してくれます。
・条件分岐や添付ファイルの判定を柔軟に組み込める
「条件Aなら添付」「条件Bなら宛先変更」「本文を日付付きで変更」などの要求もすぐコード化できます。
・既存業務のメールテンプレをコード化しやすい
普段送っているメール文をChatGPTに貼ると、それをそのままVBA用に整形してくれます。
・通常30分かかるコード作業が数分で完了する
Outlook送信VBAは書き慣れるまで長くなりやすいですが、ChatGPTを使うと短時間で高品質のコードが完成します。
✅ ChatGPTへ依頼するプロンプト例(そのまま使える)
ChatGPTにOutlook送信VBAを作ってもらいたいときは、次のように依頼します。
▶ プロンプト例:基本のOutlook送信VBA
Excelのセルから宛先・件名・本文を取得して、Outlookのメールを自動送信するVBAを作ってください。
条件は次のとおりです:
・宛先:Sheet1 の A2
・件名:Sheet1 の B2
・本文:Sheet1 の C2
・Outlookアプリを使用
・送信前に表示(.Display)
・添付ファイルはなし
・コメント付きでわかりやすくしてください。
▶ よく使う追加条件
- 添付ファイルをA3に書かれたパスから読み込んで添付
- CC/BCCに複数の宛先を設定
- 本文を改行(vbCrLf)入りのテンプレとして渡す
- 条件分岐でメール内容を変える
- メール送信後にログを残す
- 署名を自動挿入する
ChatGPTはこれらを柔軟に理解してコード化できます。
✅ ChatGPTが生成する代表的なOutlook送信VBA
以下はChatGPTが実際に生成できる標準的なコード例です。
Sub SendMail_ChatGPT()
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim mailTo As String
Dim mailSubject As String
Dim mailBody As String
'--- Excelシートから設定値を取得 ---
mailTo = Range("A2").Value
mailSubject = Range("B2").Value
mailBody = Range("C2").Value
'--- Outlookアプリを起動 ---
Set OutApp = New Outlook.Application
Set OutMail = OutApp.CreateItem(olMailItem)
'--- メール設定 ---
With OutMail
.To = mailTo
.Subject = mailSubject
.Body = mailBody
.Display '送信前に確認
End With
'--- オブジェクト破棄 ---
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
ChatGPTの良いところは、変数名・コメント・構造が読みやすいコードを生成する点 です。
✅ コードの仕組みをわかりやすく解説
・Outlook.Application
Outlook本体を操作するためのアプリケーションオブジェクト
・MailItem
メールの作成・編集・送信などを管理するオブジェクト
・.To / .CC / .BCC
宛先、CC、BCCの設定
・.Subject
件名の設定
・.Body
本文の設定(改行は vbCrLf を使う)
・.Attachments.Add
添付ファイルの追加
参考:【UiPath】Outlookメールを仕分け&保存する方法|業務効率化に直結するRPA活用術
・.Display / .Send
- Display:送信前に画面表示
- Send:即送信
業務では誤送信防止のため、.Display を使うケースが多いです。
参考:【UiPath】メール送信を自動化する方法と活用例|Outlook・Gmail対応の実務活用術
✅ ChatGPTに追加依頼すると便利なOutlookVBAカスタム例
ChatGPTの強みは「追加で条件を伝えるだけで高度なOutlook自動化コードを作れる」点です。
① 複数宛先の自動送信
CC に A3セル、BCCに A4セルを設定してください。
② 添付ファイルを自動追加
A5セルのパスにあるファイルを添付して送信してください。
③ 本文に改行やテンプレートを自動挿入
お疲れ様です。
本日の報告をお送りします。
・処理件数:◯◯
・エラー件数:◯◯
こうしたテンプレも ChatGPT に渡すだけでそのまま組み込んでくれます。
④ シート内の表を本文に転記
Table1 の内容を本文に整形して貼り付けてください。
⑤ 条件によって本文を切り替える
A列のステータスに応じて本文テンプレを変更したい
ChatGPTは自然言語で書くだけで柔軟に対応してくれます。
✅ 実務で頻出のOutlook送信VBAのパターン
・日次報告メール
・売上速報メール
・エビデンス資料の自動送信
・複数ファイルの添付送信
・シートのPDFを自動生成して添付
・顧客ごとにメール内容を変えて一括送信
・試験結果の通知を個別に自動送信
ChatGPTを使うと、これらのパターンはすべて短時間でマクロ化できます。
❗ Outlook送信VBAでよくあるトラブルと回避方法
・Outlookの参照設定が必要な場合がある
VBEの「ツール → 参照設定」で
Microsoft Outlook 16.0 Object Library をONにします。
・メールが即送信されてしまう
→ .Display に変更すれば画面で確認できます。
・添付パスが正しくない
→ ChatGPTに「ファイル存在チェックを入れて」と依頼すると改善されます。
・署名が反映されない
→ .Display を使い、本文末尾に追記すれば解決
❗ ChatGPTを使う上での注意点
・会社のメールテンプレをそのまま送らない
機密情報が含まれるため、テンプレは必ず一度匿名化しましょう。
・完成コードは実行前に必ず内容チェック
ChatGPTは優秀ですが、コードの前提条件が違うと動かないことがあります。
・Outlookバージョン差に注意
Mac版OutlookはVBAが動かないため、Windows限定です。
❗ RPA(UiPath)× Outlook送信VBA は相性抜群
UiPath単体でOutlookの複雑なテンプレ管理を行うと、
- 変数管理が複雑
- メール本文の改行処理が面倒
- エラー処理が冗長
などの課題が出ます。
そこで、**
Outlook送信ロジック → VBA
ファイル転記・データ整形 → UiPath
**という構成にすると、非常に安定して運用できます。
実務ではこの組み合わせが多く使われ、
ミスのない日次業務を実現できます。
✅ まとめ:ChatGPTを使えばOutlook送信VBAは誰でも作れる
ChatGPTを使うことで、Outlook送信VBAは初心者でも短時間で作成できます。
- 宛先・本文・件名をExcelから読み込むコードも簡単
- 添付ファイルの追加もChatGPTに指示するだけ
- 条件分岐やテンプレート変更にも柔軟に対応
- エラー修正もChatGPTに相談可能
- UiPathなどRPAとの連携で日次業務をさらに自動化
Outlook送信処理は、多くの企業で必須の業務ですが、
ChatGPTを活用すれば 高度なメール自動化を数分で構築できる時代 になっています。
手作業で送信しているメールがある場合は、
ぜひChatGPTを活用し、Outlook送信VBAによる自動化に挑戦してみてください。