Outlookのメール送信・予定を使ってリマインダを送るサンプルシナリオ

2019.03.29【20_メール送信(V5)/20_メール関連(V6)】
WinActorのライブラリ(Outlook操作)を用いたサンプルシナリオです。 Excel内の日付を確認し、締切間際の情報がある場合にリマインダメールを送信、または予定追加をするサンプルシナリオとなります。

※本サンプルシナリオをダウンロードする前に、こちらの注意事項を必ずご確認ください。

DOWNLOAD
158.6 KB
Outlookのメール送信・予定を使ってリマインダを送るサンプルシナリオ

Outlookのメール送信・予定を使ってリマインダを送るサンプルシナリオ

はじめに

WinActorのOutlook操作ライブラリを使用して、リマインダのメール送信/予定追加を行うサンプルシナリオ(以降、本サンプルシナリオ)について説明します。

注意事項

本サンプルシナリオ利用時の注意事項はこちらです。

本サンプルシナリオの概要

本サンプルシナリオは、以下の処理を行います。

  • Excelファイルを開き、変数一覧の「終了予定日列」「完了日列」「名前列」で指定されている列から情報を取得します。
  • 終了予定日の情報と、シナリオ実施時の日を比較し、終了予定日が間近に迫っている情報をリマインダ対象とします。
  • リマインダ対象の情報がある場合、Outlookでリマインダのメール送信、または予定の追加を行います。

使用するWinActorモジュール

本サンプルシナリオでは、主として以下のWinActorモジュールを使用します。

  • 20_メール送信/01_Outlook操作/Outlookメーラ起動.ums5
  • 20_メール送信/01_Outlook操作/Outlook メール送信.ums5
  • 20_メール送信/01_Outlook操作/Outlookメーラ終了.ums5
  • 20_メール送信/01_Outlook操作/Outlook 新しい予定の登録.ums5

  • 08_日付関連/日付取得(書式指定).ums5
  • 08_日付関連/日付差計算.ums5

  • 18_Excel関連/Excel操作(値の取得2).ums5
  • 18_Excel関連/01_ファイル操作/Excel開く(前面化).ums5
  • 18_Excel関連/01_ファイル操作/Excel操作(保存なしで閉じる).ums5
  • 18_Excel関連/03_行列操作/Excel操作(行コピー).ums5

動作確認環境

本サンプルシナリオは以下の環境で確認しています。

  • Windows 7
  • WinActor 5.3.1
  • Outlook 2016

制約事項

  • 本サンプルシナリオを実行するためには、Outlook 2016によるメール送信が可能なインターネット環境が必要です。
  • 本サンプルシナリオ実施時、Outlookの設定によっては、セキュリティ警告が出ることがあります。
  • Outlookの設定、利用方法などについては、Microsoft社のドキュメントを参照してください。
  • 本サンプルシナリオは、大量データでの動作は未検証です。問題が発生した場合は、一度に実行するデータを減らして処理を分割してみてください。

本サンプルシナリオの使い方

本サンプルシナリオの使い方は以下の通りです。

Step 0. Outlookの設定

Outlook 2016が、変数一覧で指定した「送信先」にメールを送信できる状態であることを確認します。

Step 1. サンプルシナリオの読み込み

ダウンロードしたZIPファイルを展開し、展開したフォルダに含まれている本サンプルシナリオをWinActorで読み込みます。

Step 2. 動作に必要な変数を設定

本サンプルシナリオを実行するために必要な値を、変数一覧で更新します。
本サンプルシナリオの実行にあたり、事前に設定が必要な変数は下記の通りです。

設定の確認が必須の変数

本サンプルシナリオの実行にあたり、事前に設定の確認が必要な変数は下記の3つです。

  • メールで通知
    • リマインダを出すとき、メールによる通知、予定追加のいずれを実施するかを選択します。

  • 送信先
    • リマインダのメールの送り先のメールアドレスを指定します。
      メール送信を行う場合は必須です。
      例) abcdefg@hijklmnopqrstu.co.jp
  • 入力ファイル名
    • 入力するExcelファイルのファイル名のみを指定します。
      本ファイルはサンプルシナリオと同じディレクトリに配置します。
      例) input_file.xlsx

動作を変更するための変数

本サンプルシナリオには、動作を変更するための変数が存在します。
添付されたinput_file.xlsxを入力ファイルとして使用する場合、初期値のまま実行しても問題ありませんが、入力ファイルのフォーマットを変更する、リマインダ発生日を変更する、など処理の変更を行う場合、変数の変更を行ってください。
詳細はこちらを参照してください。

変数表示画面
変数表示画面

Step 3. サンプルシナリオの実行

WinActorで本サンプルシナリオを実行開始します。 Excelのチェックが終了し、終了間近の情報が見つかった場合、メール送信、または予定追加を行います。
セキュリティツール等の設定によっては、メール送信前の確認等を必要とする場合があります。その場合、手作業で確認を行ってください。

Step 4. サンプルシナリオの終了後

送信先に指定されたメールアドレスに、リマインダのメールが送られていることを確認します。
予定追加を指定した場合、予定が追加されていることを確認します。

トラブルシューティング

本サンプルシナリオでは、変数に誤った値を指定した場合、エラーメッセージが出力されます。

詳細については、エラーメッセージ一覧を参照してください

サンプルシナリオ解説

本サンプルシナリオで使用している実装テクニックについて説明します。

入力ファイルの形式

入力ファイル(Excel)は以下の形式をとります。

1行目ヘッダ。2行目以降は入力データ。1行目のヘッダの項目名は特に参照していません。

列番号 項目名 表示形式 備考
A 名前 通常の文字列 持出しを行った人の名前。
本サンプルシナリオでは、この欄を「名前」列として参照します。
B 持出し開始日 日付形式。yyyy/m/d 本サンプルシナリオでは参照しません。
C 持出し終了日(予定) 日付形式。yyyy/m/d 本サンプルシナリオでは、この欄を「終了予定日」列として参照します。
本項目と実行日の日付差分結果により、完了日間近かどうかを判断します。
D 承認日 日付形式。yyyy/m/d 本サンプルシナリオでは参照しません。
E 持出し終了日(完了) 日付形式。yyyy/m/d
または空
本サンプルシナリオでは、この欄を「完了日」列として参照します。
日付が登録されている場合、完了済みとみなします。
空の場合、まだ終了していないとみなします。
F 確認日 日付形式。yyyy/m/d 本サンプルシナリオでは参照しません。

入力ファイルサンプル(input_file.xlsx)

A B C D E F
1 名前 持出し開始日 持出し終了日
(予定)
承認日 持出し終了日
(完了)
確認日
2 Aeams 2019/1/2 2019/1/25 2019/1/2 2019/1/25 2019/1/25
3 Beams 2019/2/1 2019/2/10 2019/2/1 2019/2/10 2019/2/10
4 Ceams 2019/2/25 2019/3/1 2019/2/25 2019/3/1
5 Deams 2019/3/1 2019/3/5 2019/3/1
6 Eeams 2019/3/5 2019/3/7 2019/3/5

本サンプルシナリオでは、参照列(名前列、終了予定日列、完了日列)の列番号を変数一覧で指定可能です。この入力ファイルサンプルの場合、

  • 名前列:A
  • 終了予定日:C
  • 完了日:E

と指定しています。
入力ファイルの形式を変える場合、参照するデータに合わせて変数一覧の参照列を変更してください。

入力ファイルを自作する場合の注意事項

入力ファイルを自作する場合は、表示上の文字列が正しいかを確認してください。
Excelのセル書式によっては、表示が変換されていることがあります。
本サンプルシナリオで使う入力ファイルは、日付列の書式を日付型「yyyy/m/d」としてください。

本文作成手順

本サンプルシナリオが作成するメール、および予定の本文の作成手順は以下の通りです。

分類 出力内容 出力内容の生成方法
本文先頭 持出機材の返却が迫っている人がいます。返却間近の人は以下の通りです。 変数「送信メッセージ先頭」で指定
本文中心部 (期限が迫った人の情報)
Ceams さん(終了予定日:2019/03/01)★期限切れ★
Deams さん(終了予定日:2019/03/05)
シナリオで作成。
「★期限切れ★」は変数「期限切れ警告」で指定
本文最後尾 本日中にリマインダを出してください。 変数「送信メッセージ最後尾」で指定

上記の本文先頭、本文中心部、本文最後尾を結合して、メール、予定の本文を生成します。

期限が迫った人の情報生成

メール、予定に出す期限が迫った人の情報は、シナリオの以下の部分で作成します。
この処理は、Excelの1行データをチェックし、期限間近の情報を見つける度に実施しています。

本文作成シーケンス
本文作成シーケンス

作成例

Ceams さん(終了予定日:2019/03/01)★期限切れ★  ←終了予定日を過ぎている人
Deams さん(終了予定日:2019/03/05)             ←終了予定日が近い人

本文の結合

本文全体の結合は、Excelファイル内の情報をすべてチェックした後、メール送信、予定作成を行う直前で実施します。

本文全文作成シーケンス
本文全文作成シーケンス

作成例

持出機材の返却が迫っている人がいます。返却間近の人は以下の通りです。←送信メッセージ先頭
Ceams さん(終了予定日:2019/03/01)★期限切れ★  ←期限間近の人の情報1行目
Deams さん(終了予定日:2019/03/05)        ←期限間近の人の情報2行目
本日中にリマインダを出してください。           ←送信メッセージ最後尾

Outlookでのメール送信

変数一覧でメールで通知の変数を「True」を指定していると、本サンプルシナリオではWinActorのライブラリ、Outlook操作を使用して、メールの送信を行います。

注:Outlookの設定によっては、メール送信前にセキュリティ警告が出ることがあります。
本シナリオではこれらの確認用メッセージには対応していません。
内容を確認して、メール送信を行ってください。    

送信されるメール例

本サンプルスクリプトでは、終了日間近の情報を見つけた時、以下のメールを送信先に送付します。

分類 出力内容 出力内容の生成方法
宛先 (送信先メールアドレス) 変数「送信先」で指定
件名 【リマインダ】持出機材返却予定日間近!! 変数「送信メッセージ件名」で指定
本文 本文作成手順で作成した文章) 本文作成手順参照

Outlookでの予定追加

本サンプルシナリオが動いているPCで通知を受け取りたい場合、メールによるリマインダではなく、Outlookへの予定追加とすることもできます。
変数一覧でメールで通知の変数を「False」と指定すると、メール送信ではなく、Outlookの予定を追加します。

追加される予定例

本サンプルシナリオを動かし、予定を追加した場合、以下の予定を追加します。

分類 出力内容 出力内容の生成方法
件名 【リマインダ】持出機材返却予定日間近!! 変数「送信メッセージ件名」で指定
場所 (空) 出力なし
開始時刻 (シナリオ実施日) (シナリオ実施時間)
または
(シナリオ実施日) 0:00
シナリオ実施日 シナリオ実施時間

変数「予定区分」1(終日)指定時は
シナリオ実施時間は 0:00となる
終了時刻 (シナリオ実施日) 23:59
または
(シナリオ実施日) 0:00
シナリオ実施日 23:59

変数「予定区分」1(終日)指定時は
シナリオ実施日 00:00
終日 (変数「予定区分」が1の場合、チェックあり) 変数「予定区分」
本文 本文作成手順で作成した文章) 本文作成手順参照

送信内容の変更

送信メールや予定の文面の一部は、変数一覧で変更することができます。
詳細はこちらを参照してください。

変更履歴

版数 日付 修正内容
1.0版 2019/03/29 初版
Twitterでシェア Facebookでシェア
ページの最上部に移動します