LoginSignup
6
8

More than 3 years have passed since last update.

Outlookメールで作成時に件名(本文)に日付を設定する

Last updated at Posted at 2020-10-29

ひとことで

会社への勤怠連絡用に使えるテンプレートを作ってみました。

概要

勤怠連絡のテンプレートは決まっているので、テンプレート自体は作成していたのですが...
件名や本文に入れていた日付は毎回、手直ししていました。
この日付を編集するのが煩わしかったので、本日日付を自動設定してくれるようなものを作成しました。

環境

Windows10
Outlook

手順

  1. メールテンプレート作成
  2. マクロ作成
  3. 動作確認
  4. 使いやすくする(おまけ)

1.メールテンプレート作成

メールを作成して、Outlookテンプレート形式(*.oft)で保存。
件名のyyyy/mm/dd と 本文のmmdd 部分を置き換えます。
[ファイル] > [名前を付けて保存]
テンプレートファイルの保存場所はマクロ作成時に使うので控えておく。
デフォルトはC:\Users\$ユーザ名\AppData\Roaming\Microsoft\Templates配下

保存場所はマクロ作成時に使用するので控えておく。
image.png

2.マクロ作成

OutlookVisual Basicを起動
[開発] > [Visual Basic]

(リボンに開発タブがない場合リボンのユーザ設定より追加する。)

開発タブ追加手順
リボンのユーザ設定リボンを右クリック または [ファイル] > [オプション]から遷移可能。
リボンのユーザ設定の右側の開発チェックボックスを設定済みにする。
image.pngimage.png

Project1.ThisOutlookSessionに以下を入力して、保存。

Project1.ThisOutlookSession
Sub 遅刻連絡()
    Dim MyItem As Outlook.MailItem

    Set MyItem = Application.CreateItemFromTemplate("$テンプレート保存場所\【勤怠連絡】山田花子 yyyymmdd 遅刻.oft")
    MyItem.Display
    ' 件名
    ' yyyy/mm/dd形式
    MyItem.Subject = Replace(MyItem.Subject, "yyyy/mm/dd", FormatDateTime(Now, vbShortDate))
    ' 本文
    ' mm
    MyItem.Body = Replace(MyItem.Body, "mm", Month(Now))
    ' dd
    MyItem.Body = Replace(MyItem.Body, "dd", Day(Now))
End Sub

3.動作確認

[開発] > [マクロ] > [作成したマクロ]で実行。
image.png
↓できました:hugging:
image.png

4.使いやすくする(おまけ)

いちいち[開発] > [マクロ]から実行するのが面倒なので、[ホーム]タブの中に追加してみる。
リボンのユーザ設定より、

左側:[コマンドの選択]ドロップダウンよりマクロを選択
右側:ホーム(メール)配下に新しいグループを追加
image.png

左側で作成したマクロを選択し、右側で作成したグループに追加する
image.png

アイコン・表示名を名前の変更より変える(変えなくてもいい)
image.png

[OK]でリボンのユーザ設定を閉じる
 :raised_hand:
遅刻します      ←いました
image.png

参考

新規作成のメッセージに日付を埋め込む方法

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8