【VBA × Word × Outlook】ファイル添付付きメールを自動作成するマクロ|宛先・本文も自動入力

Wordで作成したドキュメントを毎回同じ宛先にメールで送信する――
そんな定型業務をVBAで自動化できたら、作業時間がぐっと短縮されますよね。

本記事では、Wordで実行するとOutlookの新規メールが自動で立ち上がり、宛先・CC・本文が自動入力されたうえで、実行中のWordファイル(マクロなし.docx)を添付するマクロの作り方をご紹介いたします。


目次

このマクロでできること


  • Outlookの新規メールウィンドウを自動で開く
  • To・CC欄に自動で複数の宛先を入力
  • 本文をテンプレート化して自動挿入
  • 現在開いているWordファイルを .docx に変換して添付
  • 送信直前の状態で止める(自動送信ではない)

使用する環境

  • Microsoft Word(マクロ有効:.docm
  • Microsoft Outlook(インストール済かつ既定のメールソフト)
  • Windows(VBAが使用可能な環境)

VBAコード(コピペOK)

以下のコードを、Wordのマクロエディタ(Alt + F11)で標準モジュールに貼り付けてください。

Sub SendEmailWithOutlookAsDocx()
    Dim objOutlook As Object
    Dim objMail As Object
    Dim currentDocumentPath As String
    Dim tempDocxPath As String

    ' 現在のWord文書のフルパスを取得
    currentDocumentPath = ActiveDocument.FullName

    ' 拡張子を.docxに変更し、一時ファイルとして保存
    tempDocxPath = Replace(currentDocumentPath, ".docm", ".docx")
    ActiveDocument.SaveAs2 FileName:=tempDocxPath, FileFormat:=wdFormatXMLDocument, CompatibilityMode:=wdCurrent

    ' Outlookアプリケーションのオブジェクト生成
    Set objOutlook = CreateObject("Outlook.Application")
    Set objMail = objOutlook.CreateItem(0) ' 0 = olMailItem

    ' メール構成
    With objMail
        .To = "a_mori@mori.com; b_komori@mori.com"
        .CC = "c_nakamori@mori.com; d_oumori@mori.com"
        .Subject = "会合について"
        .Body = "みんな" & vbCrLf & vbCrLf & _
                "会合に参加いただきありがとうございました。" & vbCrLf & _
                "まとめたファイルを送付しました。" & vbCrLf & vbCrLf & _
                "次回の会合は決まり次第、連絡します。" & vbCrLf & vbCrLf & _
                "森"

        ' ファイルを添付
        .Attachments.Add tempDocxPath

        ' メールを画面に表示(送信はしない)
        .Display
    End With

    ' オブジェクト解放
    Set objMail = Nothing
    Set objOutlook = Nothing

    ' 一時ファイルの削除(必要ならコメントを外してください)
    ' Kill tempDocxPath
End Sub

実行方法

  1. Wordファイルを .docm 形式で保存
  2. マクロエディタ(Alt + F11)から上記コードを貼り付けて保存
  3. マクロを実行(Alt + F8 → マクロ名を選択)
  4. Outlookの新規メールウィンドウが自動で開きます

宛先や本文のカスタマイズも自由自在

  • .To.CC の部分に、実際に送信したいアドレスを入力してください(複数指定可能)
  • .Subject.Body はテンプレートとして編集可能です
  • 添付ファイルは .docx に自動変換されるため、マクロが含まれない安全な形式で送信できます

注意点と補足

  • Outlookが既定のメールクライアントである必要があります
  • .docx 変換されたファイルは同じフォルダに一時的に保存されます
  • 送信は自動で行われません(.Send に変更することで自動送信も可能です)

まとめ

このマクロを活用することで、日常的なメール送信作業をワンクリックで完結させることができます。
「ファイルを開いて→メールを立ち上げて→本文を入力して→添付して…」という手間を省き、作業効率を大幅に向上させられます。

繰り返しの多い業務ほど、VBAによる自動化は効果的です。ぜひご自身の業務フローに取り入れてみてください。

スクールの紹介

最後に宣伝をさせてください。

夢見るAIエンジニアへ、今こそ一歩を踏み出せ!

最近、AI技術やデータサイエンスに興味を持ち始めたあなた。将来、AIエンジニアやデータサイエンティストとして活躍したいと考えているかもしれません。また、AIを使って業務課題や研究課題を解決したい、あるいは教養としてAIの知識を深めたいと思っている方もいるでしょう。

しかし、学び始めるとなると「どこから手をつけて良いのか分からない」「専門的すぎて理解できない」といった悩みが生じることも。そんなあなたのために、この3ヶ月間集中してAIプログラミングを習得するオンラインコーチングサービスがオススメです!

なぜこのサービスが選ばれるのか?その理由はこちら

  1. 初心者から上級者まで
    完全なプログラミング初心者から研究者まで、幅広い方々に優良なコンテンツが提供されます。
  2. 徹底的な進捗管理
    受講者の進捗をしっかりとチェックし、つまずきやすいポイントでのフォローが万全です。
  3. 専属メンターによる徹底サポート
    AIの学び方から、実際の適用まで、専属のメンターが手厚くサポートします。
  4. 場所を選ばず学べるオンライン完結
    東京以外の地域からも、気軽に学び始めることができます。

信頼の実績多数!
・日本最大級のプログラミングスクール実績
・受講者総数700名以上
・SaaS型学習サービス会員65,000名以上
・企業導入実績120社以上
・グッドデザイン賞受賞
・著名な賞受賞歴や経団連加盟も実現

夢を叶えるための第一歩を、一緒に踏み出しませんか?今なら、あなたもその一員として学び始めることができます!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次