メニュー

logo

カチシステムはお客様に寄り添った
システム開発と支援サービスを提供し
「やさしい最先端」を創造します。

【第6回】ロータス師匠のWinActorシナリオ道場~メール送信編~

2021.07.02

今回はメール送信のシナリオに挑戦じゃ!

押忍!

でも師匠、メール送信のライブラリが既にこんなにありますよ?

まさかライブラリ1つで完成という神回ですか?!

 

 

こちらの中からお好みのライブラリを選びます。

そして、出来上がったものが…

 

って違うぞ、ロータス君。そんな「料理番組あるある」はせん。

わしは材料を切るシーンもノーカットで放送するタイプのロボットじゃからな!

材料のカットだけに。

ノリツッコミとみせかけてさらに高度なボケを重ねるなんて…。

さすがです、師匠!一生ついていきます!

師匠とロータス君、なんだか楽しそうですね。

おふざけはほどほどにして、シナリオの確認からしていきましょう。

1.シナリオ概要

今回はテレワーク開始の報告メールを送信するというシチュエーションでシナリオを作成します。

 

①インプットボックスに業務内容を入力してOKを押すと、メールが送信されます。

 

 

②もし業務内容が空欄の場合には、再度インプットボックスが表示されます。

 

 

③未入力が3回続くと、シナリオは強制終了します。

 

2.このシナリオを通して学べる操作

繰り返し

分岐

WinActorノートの操作

Outlookメール操作

           ・・・etc

3.事前に準備するもの

メール本文のひな型をテキストファイル形式で用意しましょう。

 

なんだか普通のメール文とは違いますね・・・。

よく気が付いたの。

後でテキストファイルのポイントも解説するぞ。

4.シナリオ作成【①業務の入力→メール送信処理】

まずは一番基本的な、業務の入力→メール送信の処理を作ります。

全体の流れはこのようになります。グループごとに確認していきましょう。

 

1.本日日付・業務の設定

本日日付と業務内容を設定します。

この処理で設定する値は、以下の図のオレンジでマークした部分に該当します。

 

 
こちらのライブラリとノードを利用します。
【ライブラリ】>08_日付関連
  ・日付取得(書式指定)
【ノード】>ユーザ
  ・インプットボックス
 
プロパティ画面で詳細を設定します。
 
①日付取得(書式設定)
フォーマットを「mm/dd」、区切り文字を「/」と設定します。
取得した日付を『本日日付』という変数へ格納します。
 
②インプットボックス
入力結果は『業務』という変数へ格納します。
表示メッセージはメッセージのラジオボタンにチェックをつけ、テキストボックスにポップアップが表示された際に載せたい文章を記述します。

ユーザーにこちらの意図を汲み取ってもらえるように、

わかりやすいメッセージを表示させることが大切じゃ。

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.変数の整理と動作確認

シナリオが完成したら、変数を整理します。

以下の変数は初期値の入力が必要ですのでご注意ください。

・『テキストファイル_メール』 メール本文のひな型のファイルパス

・『宛先』 メールの送信先のアドレス

 

変数の整理まで全て完了したら、動作を確認します。

場合分けをした処理も、意図した動作をするか確認しましょう。

シナリオの全体像はこちらです。お疲れ様でした!

 

 

そろそろシナリオ作りの基礎が身についてきたじゃろ。

次回からはすこーしレベルアップするぞ。

( ゚Д゚)?!・・・押忍!

次回の更新もお楽しみに!


 

関連記事こちらの記事も合わせてどうぞ。

最近の記事

カテゴリ

PAGETOP