「並列」アクティビティのご紹介をします。
1.アクティビティのプログラム名
System.Activities.Statements.Parallel
2.説明
Studio バージョン ~2.0.2.0
クイックアクセス: 「ツールボックス」 > 「コントロールフロー」 > 「並列」
Studio バージョン 2.0.3.0~
クイックアクセス: 「ツールボックス」 > 「システム」 > 「コントロールフロー」 > 「並列」
親アクティビティの実行後、子アクティビティを独立して実行できるようにします。アクティビティが実行されると、プロセスごとに個別のジョブが作成されます。子プロセスが呼び出されても見つからない場合、子プロセスの名前を含むエラーがログに記録されます。子プロセスが呼び出された後にエラーが発生した場合、親プロセスはそれに影響されることなく通常の実行を続行します。
※動作を確認したコボットStudioのバージョン:2.1.1.2
※バージョンによって文言などが一部異なる場合がございます
3.プロパティ
プロパティ項目 | プロパティ名 | 入力欄 | 説明 |
---|---|---|---|
その他 | パブリック | チェック項目 | ログにアクティビティ内の変数と引数がログファイルに書き込まれ、Centerにプッシュされる。(詳細は「プロパティ項目「パブリック」について」を参照) |
完了条件 | 値を入力(Boolean型) | 後続のアクティビティを実行するための条件 | |
表示名 | 任意の文字列 | デザイナーパネルのアクティビティ名に反映される。 |
4.使い方
「並列」アクティビティの使用例を参考に説明します。
例:メモ帳を開き名前を付けて保存する、既に同名のファイルが存在する場合は上書き保存する
今回は次の流れを例としてご紹介します。
- メモ帳を新規で起動する
- ショートカット(Ctrl+S)で名前を付けて保存する
- 名前をつけて保存をする<並列>
- 「text.txt」がまだ存在していないとき、保存を実施
- 「text.txt」が既に存在しているとき、上書き保存を実施
- メッセージボックスを表示する
まず、メモ帳を開くために「ウィンドウアプリケーション」 > 「ウィンドウを開く」アクティビティをデザイナーパネルにドラッグ&ドロップで配置します。
今回はファイル名を指定する方法でメモ帳を開きます。「入力 > ファイル名」プロパティに「"C:\Windows\system32\notepad.exe"」と入力します。
次に「ウィンドウアプリケーション」 > 「ショートカットキーを送信」アクティビティをデザイナーパネルにドラッグ&ドロップで配置します。
「保存」のショートカットキーを送信するため、「その他 > Ctrlキー」プロパティにチェックを入れ、「その他 > キー引数」プロパティには「"S"」と入力します。
次にファイル名を入力するため「ウィンドウアプリケーション」 > 「文字入力」アクティビティをデザイナーパネルにドラッグ&ドロップで配置します。
配置したらアクティビティ内の「要素を指定」から画面を進めて、「ファイル名」のテキストエリア要素を選択します。(この時あらかじめメモ帳を手動で起動し「名前を付けて保存」ポップアップを表示させておきましょう。また、デフォルトでファイル名が入力されていますがそれは削除した状態で要素を選択しましょう。)
※要素の選択方法について詳しくは「セレクタの取得方法」をご参照ください。
ファイル名を入力するため「入力 > テキスト」プロパティに「"test.txt"」と入力します。
次に「システム」 > 「コントロールフロー」 > 「並列」アクティビティをデザイナーパネルにドラッグ&ドロップで配置します。
配置したらまず初めに「新規で保存した場合」の動作を設定します。「ウィンドウアプリケーション」 > 「クリック」アクティビティを「並列」アクティビティ内にドラッグ&ドロップで配置します。
配置したらアクティビティ内の「要素を指定」から画面を進めて、「保存」のボタンを選択します。選択したら一度「test.txt」としてファイルを保存し、メモ帳を閉じましょう。
要素を指定したら、実際に手動で「test.txt」としてメモ帳を保存し、メモ帳を閉じておきましょう。
次に「すでに同名のファイルが存在していて上書き保存する場合」の動作を設定します。「ウィンドウアプリケーション」 > 「クリック」アクティビティを「並列」アクティビティ内、先ほど配置した「クリック」アクティビティの右側に配置します。
ここで再度メモ帳を新規で開き、「test.txt」と名前を付けて「保存」ボタンをクリックしてください。すでに「test.txt」が存在しているのでさらに以下のような確認のポップアップが表示されるので、先ほど同様「クリック」アクティビティ内の「要素を指定」から画面を進め、表示されたポップアップの「はい」ボタンの要素を選択します。選択したらメモ帳は閉じておいてください。
要素の指定ができたら「一般 > エラー時に続行」プロパティに「True」と設定します。
次に「コア」 > 「ダイアログ」 > 「メッセージボックス」アクティビティをデザイナーパネルにドラッグ&ドロップで配置します。
配置したら「入力 > テキスト」プロパティに「 "保存が完了しました" 」と入力します。
これでワークフローは完成です。実行する前に先ほど作成した「test.txt」は消去しておいてください。
消去したら「ホーム > スタート」をクリック、もしくは「F5キー」を押下で実行します。
- 一回目の実行:同名のファイルがないので新規保存され、メッセージが表示される
- 二回目の実行:一回目の実行後、開いている「text.txt」のウィンドウを閉じてすぐに二回目を実行すると、既に「test.txt」が存在するので上書き保存され、メッセージボックスが表示される
※手動で「text.txt」を閉じるのではなく、「メッセージボックス」の上か下に「ウィンドウを閉じる」アクティビティを配置しても問題ありません
※ワークフロー実行時の動きが速くて動きがうまく確認できない場合は、各アクティビティの間に「待機」アクティビティで数秒待機させるなどしてください