【第6回】ロータス師匠のWinActorシナリオ道場~メール送信編~
2021.07.02
今回はメール送信のシナリオに挑戦じゃ!
押忍!
でも師匠、メール送信のライブラリが既にこんなにありますよ?
まさかライブラリ1つで完成という神回ですか?!
こちらの中からお好みのライブラリを選びます。
そして、出来上がったものが…
って違うぞ、ロータス君。そんな「料理番組あるある」はせん。
わしは材料を切るシーンもノーカットで放送するタイプのロボットじゃからな!
材料のカットだけに。
ノリツッコミとみせかけてさらに高度なボケを重ねるなんて…。
さすがです、師匠!一生ついていきます!
師匠とロータス君、なんだか楽しそうですね。
おふざけはほどほどにして、シナリオの確認からしていきましょう。
目次
1.シナリオ概要
今回はテレワーク開始の報告メールを送信するというシチュエーションでシナリオを作成します。
①インプットボックスに業務内容を入力してOKを押すと、メールが送信されます。
②もし業務内容が空欄の場合には、再度インプットボックスが表示されます。
③未入力が3回続くと、シナリオは強制終了します。
2.このシナリオを通して学べる操作
繰り返し
分岐
WinActorノートの操作
Outlookメール操作
・・・etc
3.事前に準備するもの
メール本文のひな型をテキストファイル形式で用意しましょう。
なんだか普通のメール文とは違いますね・・・。
よく気が付いたの。
後でテキストファイルのポイントも解説するぞ。
4.シナリオ作成【①業務の入力→メール送信処理】
まずは一番基本的な、業務の入力→メール送信の処理を作ります。
全体の流れはこのようになります。グループごとに確認していきましょう。
1.本日日付・業務の設定
本日日付と業務内容を設定します。
この処理で設定する値は、以下の図のオレンジでマークした部分に該当します。
ユーザーにこちらの意図を汲み取ってもらえるように、
わかりやすいメッセージを表示させることが大切じゃ。
2.WinActorノートの編集
WinActorノートを使って、
変数『本日日付』と『業務』の中身をテキストファイルに反映させ、編集します。
WinActorノート!こちらも塾で習いましたね。懐かしい!
WinActorノートの機能についてはこちらを参照してください。
こちらのライブラリを利用します。
【ライブラリ】>25_WinActorノート
・テキストファイル読み込み
・変数から差し込み
・ブロック分割ツール
・変数に取り込み
①テキストファイル読み込み
すでに準備済みのメール本文のひな型をWinActorノートに読み込ませます。
文字コードは今回はUTF-8です。テキストファイルの文字コードと揃えましょう。
ファイル名は『テキストファイル_メール』という変数を作成します。
②変数から差し込み
先ほど設定した『本日日付』と『業務』をWinActorノート上のテキストの変数値に差し込みます。
対象は全ブロックを選択します。
ここで大事な伏線回収をしないとじゃな。
WinActorノートに変数を差し込むときには、変数名を{}で囲むのが鉄則じゃ。
{}は半角じゃぞ。忘れずにな。
押忍!
だからテキストファイルの文章にも違和感があったんですね。納得です!
③ブロック分割ツール
一度、日付と業務が入力された状態のWinActorノートを見てみよう。
入力した業務内容が反映されていますね!
でも業務ごとに改行したいなぁ。
そこで活用できるのが、このブロック分割ツールじゃ。
プロパティを以下のように設定しよう。
対象は全ブロックを選び、
キーワードを「,(半角カンマ)」に設定します。
分割方法はキーワードを消去して分割を選択します。
改行されました師匠!すごい!
WinActorノートはブロックという単位でテキストを管理しているのじゃ。
テキストファイルの1行=1ブロックじゃから、
このように改行したい場合はブロック分割ツールを使うとよいぞ。
④変数に取り込み
WinActorノート上で加工したテキストを変数に取り込みます。
対象・改行・改行コードの設定を行い、取得結果を『メール本文』の変数へ格納します。
3.メール作成、送信
最後にメールを作成し、送信します。
利用するノードとライブラリはこちらです。
【ノード】>変数
・変数値設定
【ライブラリ】>20_メール関連>01_Outlook操作
・Outlookメール送信
①変数値設定
メールの件名を変数として設定します。
②Outlookメール送信
宛先・件名・メール本文はそれぞれ変数名を設定します。
これでメール送信の処理は完成じゃ。
ここからパターン分けをするためにシナリオを編集していくぞ。
5.シナリオ編集【②業務が未入力・③3回連続未入力の場合】
分岐と繰り返しを組み合わせて、場合分けに応じた処理をシナリオに組み込みます。
シナリオの全体像はこちらです。
①繰り返し×分岐
繰り返しグループと分岐の詳細を設定していきましょう。
・繰り返しグループ
回数を3に設定し、カウンタに『カウント』という変数を設定します。
このカウンタに変数を設定することで、1ループごとに自動でカウントアップされます。
・分岐グループ
変数『業務』の中身が空である場合はTrue、それ以外の場合をFalseとします。
Trueの場合は業務が入力されていないので、待機ボックスで業務を入力するようにメッセージを表示させます。
反対にFalseの場合は業務が入力されたことになるので、繰り返しを終了して次の処理へ進みます。
②分岐
2つ目の分岐グループでは、上の繰り返しグループで設定した変数『カウント』の中身が3に一致するかどうかをチェックします。
詳細は以下のように設定します。
変数『カウント』の中身が3である場合はTrue、それ以外の場合をFalseとします。
Trueの場合は3回、業務が入力されなかったことになるので、シナリオを終了するメッセージを表示し、シナリオを終了します。
反対にFalseの場合は、3回以内に業務が入力されたことになるので特別な処理は行わず、次の処理へ進みます。
このようにシナリオを作ることで、場合分けに応じた処理が可能になります。
この仕組みが難しく感じる場合には、
業務の入力を3回繰り返す前提で考えると中の分岐の意味がわかりやすくなるぞ。
6.変数の整理と動作確認
シナリオが完成したら、変数を整理します。
以下の変数は初期値の入力が必要ですのでご注意ください。
・『テキストファイル_メール』 メール本文のひな型のファイルパス
・『宛先』 メールの送信先のアドレス
変数の整理まで全て完了したら、動作を確認します。
場合分けをした処理も、意図した動作をするか確認しましょう。
シナリオの全体像はこちらです。お疲れ様でした!
そろそろシナリオ作りの基礎が身についてきたじゃろ。
次回からはすこーしレベルアップするぞ。
( ゚Д゚)?!・・・押忍!
次回の更新もお楽しみに!
関連記事こちらの記事も合わせてどうぞ。
2021.08.20
【第15回】ロータス師匠のWinActorシナリオ道場~夏合宿特別版 総合問題編~
2021.08.19
【第14回】ロータス師匠のWinActorシナリオ道場~夏合宿特別版 例外処理編~
2021.08.18