メニュー

logo

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

【第18回】ロータス博士のWinActor塾~シナリオGoTo編

2020.08.31

「シナリオGoTo」と「シナリオGoto変数値引き継ぎ」

 

今回は、「シナリオGoto」と「シナリオGoto変数値引き継ぎ」ライブラリを紹介します。

機能別にシナリオを分けて、人の手を煩わせず続けて次のシナリオの実行ができたらいいですよね。

また、シナリオが大きくなり過ぎてしまい、メンテナンスが非常に困難になりシナリオを分割したいなど思ったことはありませんか?

WinActorにはシナリオから別のシナリオに飛ばすことが出来る機能があります。それが「シナリオGoto」ライブラリです。

そして、変数の内容を引き継ぐライブラリーが、その名の通り「シナリオGoto変数値引き継ぎ」です。

 

図のように、ABCの3つに分かれたシナリオでも、1つのシナリオのように連続して実行することができます。

 

 

では、プロパティ説明からじゃ

プロパティ

 

「シナリオGoto」

 

●フローチャート表示画面へドラッグ&ドロップします。

 

 

 

●プロパティ設定します

 

  

シナリオファイル名

 

 次に実行するシナリオのフルパスを指定します。

 

データ一覧上書き要否

 

  データ一覧は引き継がれません。

  シナリオ遷移時にデータ一覧をどうするかの選択をします。

 

 ・シナリオ遷移時にデータ一覧を上書きする場合は、trueを指定します。

 ・シナリオ遷移時にデータ一覧を上書きしない場合は、falseを指定します。

 ・データ一覧を使用せずシナリオ遷移する場合は、指定した値は無視されます。

 

データ一覧については、今回は使用せん。今後のWinActor塾に期待じゃ

 

 

 

「シナリオGoto変数値引き継ぎ」

 

●フローチャート表示画面へドラッグ&ドロップします。

 

 

●プロパティ設定はありません。シナリオに置くだけです。

シナリオAからシナリオBを呼び出す場合

呼び出されたシナリオBは先頭からの実行になります。

 

呼び出し元のシナリオAの実行中の変数値の内容を引き継ぐシナリオ

 

呼び出された側のシナリオBの先頭で、「シナリオGoto変数値引き継ぎ」ライブラリを使用します。

 

引き継ぎ元と引き継ぎ先の変数名を一致させないと引き継がれません。

 

 

 

呼び出し元のシナリオAの実行中の変数値の内容を引き継がないシナリオ

 

 呼び出された側のシナリオBの起動時の変数値は初期値のままです。

 

 

 

基本的に『シナリオGoto』は、別シナリオに制御を飛ばしたら、元の場所には戻ってこんぞ。

困ったな~

サブルーチンだとシナリオが大きくなってしまうし・・

まあ~引き継いだシナリオから「シナリオGoTo」で戻すことも出来るがな。

その場合、カウント、またはフラグをもって制御しないと無限ループをしてしまうぞ。

おっと、忘れとった、戻しても、そのシナリオの最初からのスタートじゃ。

 

あと・・・そうじゃ!

実行前にシナリオを直した場合、保存しておかないと次のシナリオに遷移する前に以下の

ホップアップが出現してしまうぞ

 

さあ次で、変数値の引き継ぎを見ながら、シナリオを実行してみよう!

今回は、2つの「実践!」を用意しておるぞ

1.シナリオA ⇒ シナリオB

2.シナリオC ⇒ シナリオD ⇒ シナリオC ⇒ シナリオD

実践1!「シナリオGoto」と「変数値引き継ぎ」(シナリオA⇒シナリオB)

やりたいこと1

 

1.シナリオA: 乗換Excelファイルより値を取得する。

2.「シナリオGoto」にてシナリオBへ遷移させる

3.シナリオB: 変数値をシナリオAから引き継ぐ

入力データ

 

 

シナリオ1

 

エクセルデータの1行だけ処理を行います。

 

 

 

プロパティ

 

「シナリオGoto」のみご紹介します。

 

 

開始前 変数一覧

 

 

さあ、実行じゃ。 実行中に変数値が引き継がれることを確認!

実行中の変数一覧

 

エクセルファイルの内容が、シナリオBに変数一覧に引き継がれてます。

 

 

実践2!「シナリオGoto」と「変数値引き継ぎ」(シナリオC⇒シナリオD⇒シナリオC⇒シナリオD)

やりたいこと2

 

1.メインシナリオからシナリオCに遷移

2.シナリオC:「シナリオGoto変数値引き継ぎ」で変数値を引き継ぐ

3.シナリオC:「シナリオGoto」でシナリオDへ遷移させる

4.シナリオD:「シナリオGoto変数値引き継ぎ」で変数値を引き継ぐ

5.シナリオD:「シナリオGoto」でシナリオCへ遷移させる

6.最終行の場合、終了

入力データ

 

 

シナリオ2

 

エクセルデータの最終行まで処理を行います。

 

・シナリオCはエクセルファイルから値を取得をします。

 

・シナリオDは引き継がれた変数の行数を見て、最終行なら終了、そうでないならCのシナリオを再実行します。

 

 

 

プロパティ

 

「シナリオGoto」

 

 

 

 

 

「分岐」

 

 

 

 

開始前 変数一覧

 

 

 

 

では、シナリオ図の①~④の連続した実行中の変数値を見てみよう

実行中の変数一覧

 

エクセルファイルの内容を取得して変数一覧に入った値が、シナリオCからシナリオDへ引き継がれています。

また、シナリオDからシナリオCへ遷移し変数一覧が引き継がれてます。

 

(※変数名の「シナリオx」「地点」はわかりやすく追加したもので、上記ののシナリオの描画には入っておりません。)

 

 

・シナリオCはエクセルファイルから値を取得する

 

どうじゃった?

変数値の動きが理解できたかのう?

続けて再実行したら、前回の変数値が残っている時があるんだけど・・

その時は「シナリオGoto変数値クリア」ライブラリを使ってみるのじゃ

 


 

 

 

カチシステムプロダクツが業務効率化をサポート

手間のかかる事務作業…ロボットで解決しませんか?

  • 書類の転記
  • データ抽出
  • 情報管理

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

最近の記事

カテゴリ

PAGETOP