Chatgpt×Excel活用方法 ChatGPT活用術 マクロ作成

【ChatGPT】Outlook送信VBAを自動生成する方法|業務メールを効率化するマクロを作成

Excel業務を行っていると、Outlookでメール送信するシーンが頻繁に発生します。日次報告・集計結果の送付・定型文の案内・エビデンス資料の自動送信など、同じ作業を何度も繰り返している担当者も多いのではないでしょうか。

しかし、Outlook VBAの構文はやや複雑で、「メール作成 → 宛先設定 → 本文 → 添付 → 送信」 の流れをすべて自力で書くのは時間がかかります。さらに、宛名や本文、添付ファイルの条件分岐が入ると、コード量は一気に増えてしまいます。

そんな中、ChatGPTを活用すれば、Outlook送信マクロのコード化が非常に簡単になります。プロンプトを入力するだけで実務向けのVBAを自動生成してくれるため、「送る内容」「条件」「添付の仕様」を伝えるだけで、自動化可能なOutlook送信処理が完成します。

本記事では、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による自動化に挑戦してみてください。

    -Chatgpt×Excel活用方法, ChatGPT活用術, マクロ作成