【OutlookVBA】Outlookで自動日付入力をする方法【マクロ利用】

Autodate-mail-with-outlook-macros
こまったさん

日報や在宅勤務連絡などで、その都度日付を入れたメールを送るのが面倒

イチモク

それならOutlookのメールテンプレートとマクロを活用した方法がオススメです

この記事を読んでわかること
  • OutlookVBA(マクロ)の基本的なことがわかる
  • Outlookのメールテンプレートの作り方がわかる
  • OutlookVBA(マクロ)を使った自動日付入力をする方法がわかる
目次

メールに日付をいれるのは結構面倒です

Teamsなどのチャットツールが普及してきたとは言うものの、メールは未だに使うシーンの多いコミュニケーションツールです。

そのメールに何かと日付を入れた件名や文章を送る機会は多いですよね。

単純な入力ではありますが、意外と入力ミスもしやすく間違えると後々面倒なことになることも多いものです。

今回はこの日付入力をOutlookVBA(マクロ)を使って自動入力する方法を解説します。

イチモク

マクロなんて知らないよ、という方に向けてできる限りわかりやすく解説しますので、最後までお付き合いください。

今回想定した利用シーン

今回は、在宅勤務をする日の始業時に上司へ在宅勤務開始の連絡を日付入りでするというシーンを想定しました。

送るメールのサンプル

▼今回サンプル用に用意したメールはコチラです

事前準備:開発タブの表示

イチモク

まずはマクロを使うための準備をします。

STEP
「ファイル」→「オプション」→「リボンのユーザー設定」を開く
STEP
「開発」にチェックを入れてOKをクリック
STEP
これでマクロを使う準備は完了!

ステップ1:メールテンプレートの準備

イチモク

次にマクロで使うメールテンプレートを作成します。

STEP
「新しいメール」からメールのテンプレートを作成する

▼送りたい件名、文面を書いたメールを作成します。

▼今回は上で紹介したサンプルメールの下地となるよう次のとおりに作成します。

STEP
任意の場所へ「.oft形式」で保存する

▼「ファイル」→「名前をつけて保存」をクリック。

▼任意の名前を付け、ファイルの種類「Outlookテンプレート(*.oft)」を選択して保存

  • ファイル名:在宅勤務開始連絡
  • ファイルの種類:Outlookテンプレート(*.oft)

今回は分かりやすいようデスクトップへ「テンプレート」フォルダを作成して、そこへ保存します。

STEP
これでメールテンプレートの準備は完了!

OutlookVBA(マクロ)の作成

イチモク

つぎに今作成したメールテンプレートに日付を自動入力するマクロを作成します。

STEP
「開発」→「マクロ」→「マクロ」をクリック
STEP
マクロの名前を付けて「作成」をクリック

▼名前は任意で問題ありません。ここでは、「在宅勤務開始連絡」としました。

STEP
「Microsoft Visual Basic for Applications」ウィンドウでVBAを記述する

▼「Microsoft Visual Basic for Applications」はVBAを記述するための画面です。

▼以下のコードを「Sub マクロ名()」と「End Sub」の間に貼り付けます。

On Error GoTo ErrorHandler ' エラーハンドリングの開始

    ' #1 今日の日付をFormat関数で定義する
    Dim today As String
    today = Format(Date, "yyyy/mm/dd") ' 全角括弧を半角に修正
    
    ' #2 メールテンプレートを呼び出す処理
    Dim objItem As MailItem
    Set objItem = Application.CreateItemFromTemplate("フォルダパス\テンプレート名.oft") 
    ' パスはご自分が作成したテンプレート保存場所に変更しましょう!
    
    ' #3 件名と本文にフォーマットした日付文字列を追加する
    objItem.Subject = objItem.Subject & today
    objItem.HTMLBody = Replace(objItem.HTMLBody, "本日", today)

    ' #4 日付文字列を追加したメールテンプレートを表示する
    objItem.Display

    Exit Sub ' 正常終了時はエラーハンドラをスキップ

ErrorHandler:
    MsgBox "エラーが発生しました: " & Err.Description, vbCritical, "エラー" ' エラーメッセージを表示
    Exit Sub ' エラー処理後に終了
STEP
貼り付けたコードのテンプレートのパス(保存場所)を書き換える

▼「”フォルダパス\テンプレート名.oft」の部分をステップ1で作ったテンプレートのパスに変更

てじまる

パスは対象のメールテンプレートファイルの上でShift+右クリックをして「パスのコピー(A)」で一発取得できますよ

STEP
マクロを保存して「Microsoft Visual Basic for Applications」を閉じる

Ctrl + S or フロッピーアイコンから保存して画面を閉じるボタンをクリック

STEP
これで準備はすべて完了です!

作ったOutlookVBAを実行してみる

前章までで作ったマクロを実際に動かしてみます。

STEP
「開発」→「マクロ 」→「作成したマクロ」をクリック
STEP
日付が自動入力されたメールが立ち上がれば成功です
イチモク

これでマクロをつかった日付自動入力メールを作ることができました!

おまけ:マクロ起動を素早く起動させる設定

マクロは「開発」タブから選択することで実行が可能ですが、たどり着くまでのクリック数が若干多めです。

ここではそんなマクロをより素早く起動させるための専用タブの作り方を解説します。

STEP
「ファイル」→「オプション」→リボンのユーザー設定をクリック
STEP
「新しいタブ(W)」をクリック

▼マクロ専用のタブを作成します

▼「名前の変更(M)」から任意の名前に変更します。ここでは次の通り名前を付けました。

新しいタブ自作マクロ
新しいグループメールテンプレート      
STEP
新しいグループ(メールテンプレート)にマクロを追加する

▼追加したいグループを選択した状態で、コマンドの選択から「マクロ」を選択

▼先ほど作ったマクロを選択し、「追加(A)」をクリック

▼追加したマクロを選択し、「名前の変更(M)」から任意の名前に変更

STEP
これで素早く実行できる専用タブが完成しました。
イチモク

今後も自作したマクロをこのタブに追加することで、すぐに実行できる環境を作ることができますよ。

まとめ:Outlookマクロを活用して時短しよう!

今回は、Outlookのメールテンプレートとマクロを活用して、自動で日付入りのメールを作成する方法を解説しました。

Outlookのマクロは、Excelに比べると知名度は低いですが、使い慣れることで日々の作業の効率化に繋がります。

Outlookで自動日付入りメールを作成する方法
  1. 下地となるメールテンプレートを作成する
  2. Outlookマクロを使いメールテンプレートに自動で日付を入れた新規メールを作成する(1クリック)

一つひとつは小さな効率化でも、積み上げることで大きな作業効率化となり、いづれは定時帰りできる環境整備に繋がります。

てじまる

このブログではPower Automateを初めとしたローコードツール、Microsoft365系ソフトの効率的な使い方など定時帰りに役立つ情報を発信しています。
参考になりましたらぜひブックマーク登録をお願いします!

オススメのPower Automate教材はこちら

PowerAutomateを書籍で学びたい方はコチラ

▲これから自動化を学びたい方にぴったりの入門書です。PowerAutomateなどのウェブツールは日々進化しています。そのアップデートにより画面構成や用語など、UI自体に見直しが入ることがあります。数年前の書籍では、使われている画面や用語が自分のPC画面と若干違って戸惑うことがあります。その点、この書籍は2024年に発売されたばかりで安心です。

▲これからPower Automate Desktopを始めたい人にオススメの入門書です。基本的なところから実用的はフローの紹介まで幅広く書かれています。図解も多く最初の1冊にぴったり。自分も最初はこの書籍から入りました。PADの書籍選びに迷っているならこの書籍を激推します。

▲Power Automatedesktopをこれから学習する人にはこの書籍がオススメです。インプレス社の「できる」シリーズなので内容は間違いなし。イラストを多用しているので飽きずに最後まで読めます。しかも内容も初心者向けに丁寧に解説されているので、これ一冊でPower Automate Desktopの基礎はマスターできます。

イチモク

ここで紹介している書籍はすべて実際に自分が学習に使ったものですので、安心してオススメできます。

Autodate-mail-with-outlook-macros

この記事が気に入ったら
フォローしてね!

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