WinActor

2022.04.25
サンプルシナリオ Excel関連 メール送信
Excelの予定表とアカウント一覧をもとに、Outlookのスケジュール状況を一覧化するサンプルシナリオ

名簿に記載された対象者の予定が空いているかをOutlookのスケジュールから検索し、結果を名簿に追記していくサンプルシナリオとなります。

・ExcelとOutlookのスケジュールを連携するサンプルとして使用できます。

・スイートライブラリ「Outlook(指定したアカウントの予定を検索)」の利用方法を理解できます。

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

サンプルシナリオ概要

はじめに

Excelの予定表とアカウント一覧をもとに、Outlookのスケジュール状況を一覧化するサンプルシナリオ(以降、本サンプルシナリオ)について説明します。

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

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

  • 予定を記載したExcelファイルから、開始日時と終了日時を作成します。
  • 対象者を記載したExcelファイルから、対象アカウントを取得します。
  • 2つのExcelファイルの情報から、Outlookで対象アカウントの予定を検索します。
  • 対象者を記載したExcelファイルに、予定名と予定を検索した結果を記入します。
    (予定は空いていれば「〇」、空いていなければ「×」を記入します。)  
  • 予定の数、上記の処理を繰り返します。

使用するWinActorモジュール

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

  • ノード/変数/変数値設定
  • 07_文字列操作/03_連結/文字列の連結(3つ).ums6
  • 18_Excel関連/03_行列操作/Excel操作(最終行取得 その4).ums6
  • 18_Excel関連/03_行列操作/Excel操作(行の読み取り).ums6
  • 18_Excel関連/09_セル位置/A1形式 次の行へ.ums6
  • 18_Excel関連/12_書式/Excel操作(値の取得).ums6
  • 18_Excel関連/12_書式/Excel操作(値の設定).ums6
  • プチライブラリ/Excel関連/Excel関連(次の列のセル位置を取得).ums6
  • プチライブラリ/文字列操作関連/正規表現(文字列置換).ums6
    (プチライブラリはこちらからダウンロードできます)
  • スイートライブラリ/メール送信/Outlook(指定したアカウントの予定を検索).ums6
    (スイートライブラリはこちらからダウンロードできます)

動作確認環境

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

  • Windows 10、WinActor 6.3.2、Microsoft Excel 365、Microsoft Outlook 365
  • Windows 10、WinActor 7.3.1、Microsoft Excel 365、Microsoft Outlook 365

制約事項

  • 対象アカウントに参照する権限が無い場合はエラーとなる可能性があります。
  • Outlookを事前に起動してください。

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

本サンプルシナリオの実施方法は以下の通りです。

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

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

Step2.対象者が記載されたExcelファイルの編集

対象者が記載されたExcelファイル「名簿.xlsx」を開き、A列の2行目以降を予定表を検索する対象アカウントに編集してください。
対象アカウントは表示名、メールアドレス、エイリアスのいずれかで記入してください。
対象アカウントの数に制限はありませんが、参照する権限が無いアカウントはエラーとなる場合があります。

12913_input1.png
名簿.xlsxの編集

Step3. (任意)予定が記載されたExcelファイルの編集

予定が記載されたExcelファイル「予定表.xlsx」を開き、必要であれば2行目以降の予定名や日時を変更、または追加してください。
日付はYYYY/MM/DD形式で記入してください。
開始時刻と終了時刻はHH:MM:SS形式で記入してください。

12913_input2.png
予定表.xlsxの編集

Step4.動作に必要な変数の設定・変更

本サンプルシナリオを実行するために必要な値を、変数一覧で設定・変更します。
以下の変数を必要に応じて設定・変更してください。

  • 予定表ファイル
    • 予定が記載されたExcelファイルを指定してください。
      サンプルの「予定表.xlsx」からファイル名や配置するフォルダを変更していない場合、初期値の変更は不要です。

  • 対象者ファイル
    • 対象者が記載されたExcelファイルを指定してください。
      サンプルの「名簿.xlsx」からファイル名や配置するフォルダを変更していない場合、初期値の変更は不要です。

12913_input3.png
変数一覧画面

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

WinActorで本サンプルシナリオを実行します。

Step6.サンプルシナリオの終了後の確認

「名簿.xlsx」のB列以降に、予定名と対象アカウントの予定の検索結果がB列以降に追記されていることを確認してください。
1行目に予定名が、2行目以降に各行の対象アカウントとの予定の検索結果が追記されます。
予定は空いていれば「〇」、空いていなければ「×」が追記されます。
「×」の場合、セルの背景がグレーになるように「名簿.xlsx」の条件付き書式が設定されています。

12913_input4.png
シナリオ実行後の名簿.xlsxの例

トラブルシューティング

本サンプルシナリオでは、変数指定が不十分であった場合や、予定表ファイルや対象者ファイルの内容に不備があった場合などにエラーメッセージが出力されます。
詳細については、エラーメッセージ一覧を参照してください。

サンプルシナリオ解説

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

1.各Excelファイルの最終行を取得

「Excel操作(最終行取得 その4).ums6」ライブラリで「予定表.xlsx」と「名簿.xlsx」の最終行を取得します。
取得した最終行は、繰り返しグループの回数を設定するために使用します。
2.~4.の処理を「予定表.xlsx」の予定数だけ繰り返すように回数を設定します。

①「予定表.xlsx」と「名簿.xlsx」の最終行を取得します。
②繰り返しの回数は範囲を選択し、2から「予定表.xlsx」の最終行に設定します。
 (1行目は予定の項目名であるため、予定表の行数より1行少ない回数繰り返す。)

12913_input5.png
各Excelファイルの最終行の取得と繰り返し回数の設定

2.開始日時、終了日時の作成

「予定表.xlsx」の情報を取得しスイートライブラリ「Outlook(指定したアカウントの予定を検索).ums6」に設定します。
開始日時と終了日時を、「文字列の連結(3つ).ums6」ライブラリで作成します。
また、予定名を「名簿.xlsx」に設定します。

①「予定表.xlsx」から予定名、日付、開始時刻、終了時刻を取得します。
②日付、半角スペース、時刻を連結して開始日時と終了日時を作成します。
③予定名を「名簿.xlsx」に設定します。設定するセル位置である変数「予定セル位置」の初期値はB1です。
④変数「予定セル位置」など、「名簿.xlsx」を参照するセル位置を2行目に移動します。

12913_input6.png
開始日時と終了日時の作成と予定名の設定

3.対象者の予定の検索処理

「名簿.xlsx」の対象アカウントについて、スイートライブラリ「Outlook(指定したアカウントの予定を検索).ums6」を用いて2.で作成した開始日時から終了日時の間に予定があるかを検索します。
予定が入っていれば「×」を、入っていなければ「〇」を「名簿.xlsx」に追記します。
「名簿.xlsx」の対象アカウント数だけこの処理を繰り返します。

①繰り返しの回数は範囲を選択し、2から「名簿.xlsx」の最終行に設定します。
 (1行目は予定名を記入するため、対象アカウントの行数より1行少ない回数繰り返す。)
②「名簿.xlsx」から対象アカウントを取得します。
③スイートライブラリ「Outlook(指定したアカウントの予定を検索).ums6」を用いて、①で取得した対象アカウントについて、2.で作成した開始日時から終了日時の間に予定があるかを検索します。
④ ②の検索結果から、予定が入っていれば「×」を、入っていなければ「〇」を「名簿.xlsx」 に追記します。
  追記するセル位置は下記になります。
  列:2.の③で設定した予定名の列
  行:対象アカウントの行
⑤取得する対象アカウントと、検索結果を追記するセル位置を次の行に移動します。

12913_input7.png
対象者の予定の検索と結果の追記

4.参照するセル位置の変更または初期化

「予定表.xlsx」の次の予定に対して2.~3.の処理を実行するために、Excelファイルで参照するセルの位置を変更または初期化をします。

①「名簿.xlsx」に予定を追記するセルの位置を次の列の1行目に移動させます。
 プチライブラリ「Excel関連(次の列のセル位置を取得).ums6」で次の列へ移動させ、プチライブラリ「正規表現(文字列置換).ums6」で行数を1に置換しています。
②「名簿.xlsx」の対象アカウントを参照するセル位置をA1に戻します。

12913_input8.png
ファイルを参照するセル位置の変更、初期化

変更履歴

版数 日付 修正内容
版数
1.0版
日付
2022/4/25
修正内容
初版
版数
1.1版
日付
2024/1/17
修正内容
・注意事項を削除
・ファイル名を「SS2204_12913_ListStatusOfSchedule_1.0.1.zip」に変更

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

"Excel関連"に関連するその他のサンプルシナリオ

サンプルシナリオ一覧へ戻る
当サイトでは、お客さまに最適なユーザー体験をご提供するためにCookieを使用しています。当サイトをご利用いただくことにより、お客さまがCookieの使用に同意されたものとみなします。詳細は、「プライバシーポリシー」をご確認ください。