ロボットの基本的な動きは、順次・繰り返し・条件分岐の3つです。
- 順次 :前から後ろに順番に処理する
- 繰り返し:処理を繰り返す
- 条件分岐:条件を満たしているかどうかで、次の処理を変える
順次と繰り返しはすでに使ったことがあるので、ここでは条件分岐を使ってみましょう。
【1】作成するロボットの概要
[レシピ検索ロボ_v2]のロボット概要 + 《追加》
※[レシピ検索ロボ_v2]は、「05 テキストボックス入力」と「06 日付型の変数」 で紹介したロボットです。
おしゃべりクッキングのページで、フリーワード欄に「鶏肉」と入力してから検索して、検索結果に表示されたレシピ名、ジャンル、放送日を表示する。
[放送日]は日付型の変数[Date_放送日]にも入力しておく。
《追加》
[放送日]が過去1か月以内の日付のときは、レシピ名の先頭に「【新作】」という文字列を追加する。
【2】ロボットをコピーする
(1)ここでは、「06 日付型の変数」で作成したロボットをコピーして使用します。
[レシピ検索ロボ_v2.robot]を右クリック→[コピー]をクリックしてください。
(2)すると、次のようなダイアログが表示されますので、[名前]に「レシピ検索示ロボ_v3.robot」と入力して、[OK]をクリックしてください。
(3)次に、右クリック→[開く]をクリックして開きます。
【2】日付型の変数を追加する
ここで、(タイプのない)シンプルタイプの日付型の変数を1つ作成します。
この変数には、現在日付の1か月前の日付を入力して、レシピ情報の放送日と比較します。そして、その比較した結果によって、次に実行する処理を変更します。
(1)はじめに、変数・ビューの左下の[+]をクリックします。
(2)次のようなダイアログが表示されますので、[名前]は「Date_新作日付」と入力して、[タイプと初期 / テスト値]は[Date(シンプル)]を選択して、[OK]をクリックしてください。
(3)すると、変数・ビューに変数[Date_新作日付]が追加されます。
【3】変数[Date_新作日付]に値を入力する
(1)[Return Value]ステップをクリックしてから、画面上部の[選択したステップの前にステップを挿入]をクリック→[アクションステップ]をクリックします。
(2)次に、ステップ・ビューの[アクションを選択]をクリック→[変数の割当]をクリックします。
(3)そして、[値]の右端にある[▼]をクリック→[コンバータ]をクリックします。
(4)[値]には初期設定で[変数の取得]が追加されていますので、[-]をクリックして除去します。
(5)次に、[値]の左下にある[+]をクリック→[エクスプレッションを評価]をクリックします。
(6)そして、[エクスプレッション]をクリック→[関数]→[現在の日付: date()]をクリックします。
(7)すると、[エクスプレッション]に「date()」が入力されますので、その後ろに「 + “(半角スペース)00:00:00″」と入力して、次のような入力内容になるようにします。
date() + " 00:00:00"
これは、日付型の変数に入力する値は、「yyyy-MM-dd HH:mm:ss」という書式パターンでなければならないためです。
それでは、[テスト出力]に現在の日時(時間は 00:00:00)が表示されているのを確認してから、[OK]をクリックしてください。
(8)[値]に[評価:date() + ” 00:00:00″]というアクションが追加され、現在の日付を取得することができました。
(9)ここから、現在の日付の1か月前を算出します。
再び、[+]をクリック→[日付処理]→[変更日]をクリックしてください。
(10)次に、[変更する入力日付の部分]は[月]を選択して、[量]は「1」のまま、[関数]は[入力日付から量を減算]を選択します。これで、現在の日付から1か月を減算するということになります。
[テスト出力]に、現在の日付の1か月前の日付が表示されているのを確認してから、[OK]をクリックしてください。
(11)ステップ・ビューの[値]に[Subtract 1 month]というアクションが追加され、現在日付の1か月前の日付が取得できました。そして、その日付を入力する[変数]には、[Date_新作日付]を選択します。すると、ステップ名が[Assign Date_新作日付]に変更されます。
【4】トライステップと条件判定を追加する
ここから、条件分岐のステップを追加していきます。今回は、トライステップを使って条件分岐をしてみましょう。
トライステップというのは、下図のように条件判定の前に置いて、条件を満たしているかどうかで、別の代替手段を実行するものです。
※より詳しく知りたい方は、kofaxのヘルプ「Kofax Kapow へようこそ > Design Studio > エラーの処理 > At ターゲット」を参照してください。
(1)[Return Value]をクリックしてから、画面上部の[選択したステップの前にステップを挿入]をクリック→[トライステップ]をクリックします。
(2)すると、ひし形のトライステップと点線矢印が2本追加されます。最初に実行されるのは上側の点線矢印で、代替手段が下側の点線矢印です。
次に、条件判定のステップを追加する必要がありますので、画面上部の[選択したステップの前にステップを挿入]をクリック→[アクションステップ]を選択します。
(3)すると、[トライステップ]の後ろに新しいステップが追加されますので、このステップに条件判定のアクションを設定しましょう。
(4)新しく追加されたステップを右クリック→[ステップを設定]をクリックします。
(5)ここで表示されるダイアログは、ステップ・ビューと同じ内容なのですが、そのステップまで実行しなくても設定できるので便利です。
[アクションを選択]をクリック→[テスト]→[変数判定]をクリックします。
(6)次に、判定の条件を追加するために、[条件]の左下にある[+]をクリックします。
(7)そして、「Date_放送日 >= Date_新作日付」となるように入力して、[OK]をクリックします。
※[値]の入力は、右端の[▼]をクリック→[変数]をクリックして、プルダウンメニューから[Date_新作日付]を選択します。
(8)変数判定の[条件]に、[Date_放送日 >= Date_新作日付]が追加されました。
次に、その条件を満たしている、もしくは満たしていないときに行う処理を設定します。
ここでは、[If]は[いずれかの条件を満たさない]を選択します。こうすることで、放送日が過去1か月以内ではないとき、[Do]の処理を行うことになります。
[Do]は[[エラー処理]時に指定されたとおり]を選択しておき、次の手順でトライステップに戻る処理を設定します。
(9)[エラー処理]タブをクリックして、[Then]は[次の代替手段を試行]を選択して、[次のステップ]は[(直近のトライステップ)]を選択します。
これで、放送日が過去1か月以内でないときは、トライステップに戻って次の代替手段を実行することになります。
(10)[Test Valuables]ステップの左上に小さな「←」が表示されました。これは、トライステップに戻る処理を表しています。
【5】レシピ名に【新作】を追加する
(1)次は、放送日が過去1か月以内のときに、レシピ名の先頭に【新作】という文字列を追加します。
画面上部の[選択したステップの後にステップを挿入]をクリック→[アクションステップ]をクリックします。
(2)そして、[アクションを選択]をクリック→[変数の割当]をクリックします。
(3)さらに、[値]の右端にある[▼]をクリック→[コンバータ]をクリックします。
(4)[値]には、初期設定で[変数の取得]が追加されていますので、右端の四角いマークの[編集]をクリックしてください。
(5)次に、[変数]のプルダウンメニューから[レシピ情報.レシピ名]を選択して、[OK]をクリックします。
(6)ステップ・ビューの[値]に[レシピ情報.レシピ名 を取得]というアクションが追加されました。
この値の先頭に【新作】という文字列を追加するために、[+]をクリック→[テキストフォーマット]→[テキストを追加]をクリックします。
(7)そして、[追加するテキスト]は「【新作】」と入力して、[追加する場所]は[入力テキストの前]を選択します。すると、[テスト出力]に【新作】が追加されたレシピ名が表示されますので、確認してから[OK]をクリックします。
(8)[コンバータ]に[テキストの前に “【新作】” を追加]というアクションが追加されました。その値を入力する[変数]に[レシピ情報.レシピ名]を選択します。すると、ステップ名が[Assign レシピ名]に変更されます。
【5】トライステップの代替手段を設定する
(1)ここからは、放送日が過去1か月以内でないときの代替手段の設定を行います。
トライステップから出ている下側の点線矢印を右クリック→[選択]をクリックしてください。
(2)そして、マウスでドラッグしながら[Return Value]ステップへと繋げます。
これで、放送日が過去1か月以内でないときは、【新作】の文字列の追加を行わないことになります。これで、ロボットは完成です。画面左上の[すべて保存]をクリックして保存します。
【6】ロボットを実行する
(1)[デバッグ]をクリックしてから三角形のマークの[実行]をクリックして、ロボットを実行します。
(2)処理が終了したら、ステータス・ビューを確認してください。
レシピ一覧の情報が表示されていて、放送日が過去1か月以内のレシピ名の先頭には【新作】が追加されていればOKです。
ロボットの基本動作「順次・繰り返し・条件分岐」が使えると、いろいろなロボットを作ることができます。どんなロボットが作れるか考えてみてくださいね。