ごまなつ Blog

楽しく働ける世界を目指して

【outlook】定期的にメールを送信したい

業務の中で、同じ内容のメールを定期的に送信したいことがあると思います。そのようなときに、完全に自動とまではいきませんでしたが予定のアラームをクリックすることでメールを送信することができました。

参考サイト

https://docs.microsoft.com/ja-jp/outlook/troubleshoot/user-interface/create-recurring-emaildocs.microsoft.com

方法

outlookは、内部でvbsのマクロを走らせることができます。そこで、メール内容を入力した状態で送信フォームを開く、もしくは送信まで行うことができます。

メールを送信するフォームの作成

  1. まず、タブに開発を表示します。リボンの何もないところを右クリックして、リボンのユーザ設定を開きます。

右側のメインタブに、開発があるのでチェックを入れ、OKをクリックします。すると、メインタブに開発が表示されます。

  1. タスクを開き、[新しいタスク]をクリックします。

  2. タスク作成画面で[開発]の[このフォームのデザイン]をクリックし、コードの表示をクリックします。

  3. 開いたスクリプトエディター画面で、以下を入力します。宛先、CC、件名、本文は適宜変更してください。

Sub Item_PropertyChange(ByVal Name)    
    Select Case Name     
        Case "Status"
            if Item.Status = 2 then '2 = Completed
                Set NewItem = Application.CreateItem(0)
                NewItem.To = "宛先"
                NewItem.Cc =   "CC"
                NewItem.Recipients.ResolveAll
                NewItem.Subject = "件名"
                NewItem.Body = "本文"
                NewItem.Display
            End IF
        Case Else
    End Select
End Sub
  1. スクリプトエディターを閉じ、[フォーム]の[フォームの発行]をクリックします。

  2. [フォルダーの場所]で[タスク]をクリックし、[表示名][フォーム名]に好きな名前を入力して[発行]をクリックします。

  3. タスク作成画面を閉じます。変更は保存しません。

ここで作成したものは、[開発]の[フォームの選択]で選択することができ、上のコードが実行されます。その結果、設定した宛先、CC、件名、本文が入力されたメール送信画面が開きます。

定期的にするため予定のアラームと紐づける

  1. 先ほど作成したタスク作成画面を再び開きます。[開発]の[フォームの選択]か、[新しいアイテム]の[その他のアイテム]の[フォームの選択]で先ほど作成したタスクを開きます。
  2. タスクの件名、期限を設定します。[アラーム]チェックボックスをオンにします。また、定期的なアイテムをクリックし、アラームの頻度を設定し保存して閉じるをクリックします。 これで完成です。

実際の運用

タスクで設定した頻度で期限が来たらアラームが表示されます。そのアイテムを開き[進捗状況を完了にする]をクリックすると上のマクロが実行されて送信画面が開きます。 メール送信まで行いたい場合は、マクロのNewItem.Displayの後にNewItem.Sendを追加することでメール送信まで行うことができます。