1. 概要
この記事では、Excelの特定のテンプレートを使用して、指定したメール情報(宛先、CC、BCC、件名、本文)をOutlookを介して送信する方法を説明します。
テンプレートを活用することで、定型メールを簡単に作成・送信でき、業務の効率化に役立ちます。
2. 必要な準備
- Excel VBAの有効化
- Excelの「オプション」からマクロの実行を許可してください。
- マクロ有効ブックとして保存も忘れずに!
- テンプレートの準備
- ExcelのSheetに以下のフォーマットを用意してください。
- A2セル:件名
- B2セル:本文
- C2セル:宛先 (To)
- D2セル:CC
- E2セル:BCC
- ExcelのSheetに以下のフォーマットを用意してください。
- Outlookの設定
- Outlookがインストールされ、適切に設定されていることを確認してください。
- メールアカウントが正しく設定されていることが必要です。

3. 実行方法
以下のVBAコードを使用して、Excelのテンプレート情報をもとにメールを送信します。
Sub SendTemplateMail()
' シート設定
Dim ws As Worksheet
Set ws = Worksheets("sheet1") ' メール情報が入力されているシートを指定
' Outlookアプリケーションを起動
Dim outlookApp As Object
Set outlookApp = CreateObject("Outlook.Application") ' Outlookを起動
' メールアイテムを作成
Dim mailItem As Object
Set mailItem = outlookApp.CreateItem(0) ' olMailItem(= 0) を指定してメール作成
' メール情報の設定
With mailItem
.To = ws.Range("C2").Value ' 宛先(To)
.CC = ws.Range("D2").Value ' CC
.BCC = ws.Range("E2").Value ' BCC
.Subject = ws.Range("A2").Value ' 件名
.Body = ws.Range("B2").Value ' 本文
.BodyFormat = 2 ' 1:プレーンテキスト, 2:HTML, 3:リッチテキストコメントアウトするとデフォルト設定になります。
End With
' メールの処理
mailItem.Display ' メールを表示(送信前に確認)
mailItem.Save ' 下書きとして保存
' mailItem.Send ' メール送信(必要に応じてコメントを解除)
' オブジェクトの解放
Set mailItem = Nothing
Set outlookApp = Nothing
' 完了メッセージを表示
MsgBox "メールの作成が完了しました!", vbInformation
End Sub
4. 出力結果
- メールの自動作成
- Sheet1のデータをもとに、件名や本文、宛先が自動入力されたメールが作成されます。
- 手動送信
- 生成されたメールは
.Displayで表示され、内容を確認後、手動で送信できます。 - 自動送信する場合は、コード内の
.Displayを.Sendに変更します。
- 生成されたメールは
- 送信結果の確認
- メールが正常に送信されたことを確認できます。

5. 注意事項
- メール情報の正確性
- Excelテンプレート内の宛先・件名・本文が正しく入力されているか確認してください。
- Outlookの設定
- Outlookがインストールされている必要があり、送信アカウントが正しく設定されていることを確認してください。
- メール本文の改行処理
- 本文の改行を正しく適用するために、エクセルのセルごとの改行を適切に配置してください。
- 自動送信の設定
.Sendを使用するとメールが即時送信されるため、テスト時には.Displayを使用して確認することをおすすめします。
- アプリケーションの起動順序
詳しくは次の投稿で説明します!

コメント