テンプレートに自動で今日の日付を設定するマクロ


定期的に送信するようなメールで、日付だけ変えたいという場合があります。そういう場合のためにマクロを作ってみました。
このマクロは TEMPLATE_FILE で指定したファイル (下記の例では c:\temp\test.otf) をテンプレートとして開き、件名と本文に含まれる yyyy/mm/dd という文字列をマクロを実行した日付に置き換えます。

Public Sub OpenTemplateWithDate()
    Const TEMPLATE_FILE = "c:\temp\test.oft"
    Dim objItem As MailItem
    Dim dtShort
    dtShort = FormatDateTime(Now, vbShortDate)
    Set objItem = Application.CreateItemFromTemplate(TEMPLATE_FILE)
    objItem.Subject = Replace(objItem.Subject, "yyyy/mm/dd", dtShort)
    objItem.Body = Replace(objItem.Body, "yyyy/mm/dd", dtShort)
    objItem.Display
End Sub

マクロの登録方法やメニューへの追加について

テンプレートに自動で今日の日付を設定するマクロ」への6件のフィードバック

  1. こんにちは。
    いつも拝見させてもらっています。
    早速ですが、このマクロにつきまして、要望させて頂きたいことがあります。

    あるタイミングで送信している定型メールがあるのですが、
    シフト制の仕事の為、メールを送る担当者がバラバラなのです。
    その為、テンプレートを保存している場所も様々で、このマクロのように場所を固定することができません。
    また、送信するメールの内容によって、YY/MM/DD、YYMMDD、MM/DD、MMDDと日付の表現が変わります。

    たとえば、テンプレート(oftファイル)を開いたタイミングで、マクロを自動で実行させるようなことはできないでしょうか?
    また、”yyyy/mm/dd”固定ではなく、YY/MM/DD、YYMMDD、MM/DD、MMDDのいづれかがあった場合、のように
    することはできるのでしょうか?

    以上、よろしくお願い致します。

  2. 早速使用させて頂きました。問題なく、イメージ通りの動きをしてくれてます!
    ありがとうございました。大変助かります。

    1点確認なのですが、このマクロを使用して以降
    届いたメッセージを開き、返信。その後元のメッセージを閉じようとすると
    以下のメッセージが毎回表示されるようになりました。

    メッセージ「メールの件名」のプロパティが変更されました。
    この変更を保存しますか。

    これはやはりマクロの影響でしょうか。

  3. 早速のご対応ありがとうございます。
    上記のメッセージは表示されなくなりました!

    私以外の方にも使って頂きたいと思っておりましたので
    細かな点ですが確認させて頂きました。
    非常に助かります。ありがとうございました!

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中