目次
経緯
Excelで申請書を作成した後、そのままOutlookでメールに添付して送信する作業を毎回手作業で行っていました。
宛先や本文もほぼ毎回同じだったため、**「VBAで自動化できないか?」**と思い、実装してみました。
今回の構成では、L1セルを選択するだけで、Outlookが起動し、申請書を添付したメールが作成される仕組みです。
想定構成
- **申請書が記載されたExcelファイル(Sheet1)**がある
- Sheet1の セル L1 に「メール送信」と表示されており、ここを選択することで処理が実行される
- 宛先、CC、件名、本文、添付ファイル(現在のブック)を自動で設定
前準備(Outlookライブラリの有効化)
VBAエディタで以下の設定を行ってください。
ツール→参照設定を開く- 「Microsoft Outlook XX.X Object Library」にチェックを入れる
- 「OK」をクリック
※バージョン番号(XX.X)はご使用のOffice環境により異なります(例:16.0)
モジュール側のコード(SendEmail)
標準モジュール(Module1など)に以下のコードを記述します。
Sub SendEmail()
Dim objOutlook As Outlook.Application
Dim objMail As Outlook.MailItem
Dim currentWorkbookPath As String
Dim ans As Integer
Set objOutlook = New Outlook.Application
Set objMail = objOutlook.CreateItem(olMailItem)
currentWorkbookPath = ThisWorkbook.FullName
' メール送信確認メッセージ
ans = MsgBox("メールを送信しますか", vbYesNo + vbExclamation, "メール送信確認")
' 念のため保存
ActiveWorkbook.Save
If ans = vbYes Then
MsgBox "メール内容を確認したら、送信ボタンを押してください。"
With objMail
.To = "" ' 宛先を記入
.CC = "" ' CCを記入(任意)
.Subject = "申請書"
.BodyFormat = olFormatPlain
.Body = "林さん" & vbCrLf & vbCrLf & _
"申請書を添付しました。" & vbCrLf & _
"よろしくお願いします。" & vbCrLf & vbCrLf & _
"森"
.Attachments.Add currentWorkbookPath
.Display ' メールを表示(確認したい場合)
' .Send ' 確認せずに送信する場合はこちらを有効に
End With
Set objOutlook = Nothing
Else
MsgBox "メール送信をキャンセルしました。"
End If
' 再保存
ActiveWorkbook.Save
' A1セルにフォーカスを戻す
ThisWorkbook.Sheets(1).Range("A1").Select
End Sub
トリガー設定(Sheet1のL1セルを選択したときに発動)
次に、VBAエディタで Sheet1 モジュールに以下のコードを追加します。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Me.Range("L1")) Is Nothing Then
Call SendEmail
End If
End Sub
実行時の注意点
- 宛先 (
.To) や CC (.CC) は必ず実際のメールアドレスを記入してください - メールを自動送信したくない場合は、
.Sendをコメントアウトし、.Displayで内容確認できるようにしておくと安全です .Sendを有効にする場合、.Displayは不要になります
まとめ
- Excel VBAとOutlookを連携させることで、申請書の送信業務を自動化できる
- トリガーは「セル選択」などに柔軟に設定可能
- コピペ作業や送信ミスの削減に非常に有効
業務フローにOutlookを使っている方は、ぜひこの方法を取り入れてみてください。
技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。
プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。
気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。
