UiPath StudioではStudioXとは違い、他のXamlファイルを呼び出すことができます。
今回は、このワークフローの呼び出し方法と、引数によるデータの受け渡し方法について解説します。
ワークフローファイルの呼び出し
ロボットは実行するときは、Main.xamlの上から1つずつアクティビティを実行していきます。
「ワークフローファイルを呼び出し」というアクティビティを使用することで、他のXamlに記載されたアクティビティを実行できます。
呼び出したXamlファイルの処理が終わると、再度Main.xamlに戻ってワークフローファイルを呼び出しアクティビティ移行のアクティビティを実行していくという流れで進みます。

引数によるファイル間のデータの受け渡し
データを格納する変数にはどこで使うことができるかを定義するスコープというものがありました。スコープは最大でもファイル全体であり、他のファイルからは値を取得することも、設定することもできません。
複数のファイルでデータを受け渡したい場合は変数ではなく、引数というものを使用します。
引数は変数と似ていますが、他のファイルからアクセスができるという特徴があります。
引数には変数にはない設定項目「方向」より、入力(値を設定できる)、出力(値を取得できる)、入出力(値を取得・設定できる)と外部からのアクセスを詳細に設定することができます。

処理をファイル分割するメリット
処理を分割することができることは分かったと思いますが、そもそもファイルを分割するメリットは何なのでしょうか?
複数のロボットで処理を流用できるという点が一番のメリットだと思います。
例えば、サイトから天気を取得する処理があった場合、この処理は色々なロボットで使われるはずです。例えば好きな市町村の天気を調査するロボットや東京の天気を毎朝お知らせするロボットなどです。
分割しておけば、天気取得部分のみを他の人が使いやすくなるのです。

ワークフローの作成方法
実際にワークフローで他のXamlファイルを呼び出す方法を解説します。
呼び出される側
呼び出される側は、処理を作成する他に引数の設定が必要となります。
引数パネルにある引数の作成を選択します。
引数を作成して、名前、方向、型、必要であれば規定値を設定します。

呼び出す側
呼び出す側は、「ワークフローファイルを呼び出し」アクティビティを追加します。
この中で呼び出したいXamlファイルを指定します。
Xamlファイルは同じプロジェクト内に配置しておきましょう。
最後に引数のインポートをクリックすると、呼び出される側で設定しておいた引数が表示されます。ここに使用するデータまたは変数を指定します。

実際に作ってみよう
実際に作ってみましょう。
RPA、UiPathについて動画形式で学べるコアワカのUdemy講座を
いつでもお得な価格で受講できるクーポンを発行しています。
研修にも使用できる書籍もこちらから購入が可能です。
動画を受講したい場合はボタンをクリックしてください。
クーポンコードが適用されたUdemyコースのリンク一覧ページに移動します。