UiPathでファイル間で変数を共有したけど、どうすれば設定すればいいかわからないときってありますよね?
変数を共有するなら、「引数」を使ってワークフローを作成します!
引数が使えれば可読性の高いワークフロー開発ができます!
そこで今回はUiPathで引数(IN)を使ったワークフローの作り方について解説します。
この記事を読むことでMainファイルの変数をサブファイルへ共有できるようになります!
引数(OUT)についても関連記事で紹介しているので併せて参照ください↓
もくじ 非表示
引数(IN)を使ったワークフロー作成
ワークフローを作成する際に別のxamlファイルを呼び出して処理をすることがあります。
ファイル自体がすっきりしたり、編集する箇所を少なくできるからです。
![UiPath 引数方向IN イメージ](https://automate-lab.com/wp-content/uploads/2022/02/4b820548ffdca22d08fbb3ba51ee22f3-1024x310.png)
ただ、別のワークフローを呼び出すときに変数を設定しただけでは変数の共有ができません。
ここで引数を使います。
引数を使うとファイル間で変数が共有できます。
今回はMain.xamlで設定した変数を別のxamlファイルに渡すINについて説明をします。
まずは新しい空のプロセスを開きます。
![](https://automate-lab.com/wp-content/uploads/2022/02/1229c317e01c766a53c2709efe066b18.png)
今回は引数INというファイル名にしました。
ここではMain.xamlで変数を設定してログ出力するフローを作ります。
![](https://automate-lab.com/wp-content/uploads/2022/02/795316b92fc766b0181f6fef074f03fa-4-1024x455.png)
アクティビティから代入を検索し、ドラッグ&ドロップします。
![](https://automate-lab.com/wp-content/uploads/2022/02/2b530e80c7d0de90885e285c5d798063-4-1024x445.png)
代入アクションでCtr + Kを入力して文字列型の変数を設定します。
今回はファイル名_Mainとしました。
![](https://automate-lab.com/wp-content/uploads/2022/02/c8856789ec11ab8b1013037cef6929f9-4-1024x629.png)
ファイル名のテキストに文字列を入れます。
今回は”test.xlsx”としました。
次にメッセージをログで結果を出力します。
メッセージ内容はファイル名がわかりやすく表示されていればOKです。
![](https://automate-lab.com/wp-content/uploads/2022/02/3a4f695a458cb0ac0aceaa2eb13ac2dd-2-1024x528.png)
ログのメッセージ内容と同じ内容が出力されました。大成功!
次にMain.xamlと別のサブファイルを作成します。
![](https://automate-lab.com/wp-content/uploads/2022/02/f96d9b4281f6d16b3c7589aed5a17be5-3-1024x595.png)
プロジェクト欄のファイル構成を右クリックし、追加>シーケンスで新しいフローを作ります。
![](https://automate-lab.com/wp-content/uploads/2022/02/94ed160662be198949535a112047e9b4-3-1024x576.png)
すると新しいワークフローが作られます。
今回はファイル設定INという名前にしています。
![](https://automate-lab.com/wp-content/uploads/2022/02/085f435ecdb57e7076774ccbc381f72e-1024x415.png)
次にメッセージをログでログを作成します。
ここで試しにサブファイルの中でMain.xamlで作成した変数を入力してみました。
ところがエラーが出てしまいました…
なぜエラーが出るかというとMain.xamlで設定した変数をサブファイルで使えないからです。
そこで引数を使って変数を引き継ぎます!
メインファイルの変数をサブファイルでも使えるようにしたいです。
そのためにサブファイルで引数を設定します(ファイル設定IN.xaml)
設定方法はこんな感じ↓
![](https://automate-lab.com/wp-content/uploads/2022/02/aeb80bad1055d60bd4b8dc8204f77f1c-1024x777.png)
①で引数タブをクリックしてから②で引数の名前を設定します。
今回はファイル名_INとしていますが何でもよいです。
次に③で方向を設定します。
今回はメインファイルの変数を取り入れるので入力とします。
最後に④で設定した引数を使ってログを出力させます。
※引数の方向を間違えると変数共有ができないので注意してください!
次にサブファイルで設定した引数とメインファイルで設定した変数を紐づけます。
これをインポートといいます。
![](https://automate-lab.com/wp-content/uploads/2022/02/e99cc3808964d9e08ec8fb27d43842de-1-1024x504.jpg)
まずはメインファイルのフローをを開きます。
次に代入とメッセージをログの間にサブファイルを入れます。
これでサブファイルを呼び出せます。
![](https://automate-lab.com/wp-content/uploads/2022/02/b1db37a1df6c6332fc8bdf704e9d1e49-1-1024x475.png)
そうすると引数をインポートのボタンがオレンジ色になります。
これは変数と引数が共有できるよ!という合図です。クリックをして中身を見ましょう!
![](https://automate-lab.com/wp-content/uploads/2022/02/51e8fc29fa61692e70bc4c925b602ad0-1024x292.png)
名前にサブファイルでつくった引数が自動で入っています。
値が空欄になっているのでMain.xamlから渡したい変数を入力してあげます。
これでファイル間で変数の共有ができるようになります。
これまでの流れを図で表すとこのようなイメージです↓
![](https://automate-lab.com/wp-content/uploads/2022/02/ad328257df3c27d0237be29c2f1fd87c-1024x476.png)
サブファイルで引数を設定して、Main.xamlから情報が入ってくるのでINを使う。
これだけです。
今回作成したワークフローです↓
![](https://automate-lab.com/wp-content/uploads/2022/02/90b0dfa136419ccc91fda6fec27764ca-1024x499.png)
まず①でメインファイルで変数を定義して②でサブファイル(ファイル設定IN.xaml)を開きます。
③ではメインファイルの変数を引数で受けとってログを表示します。
最後に④でメインファイルで設定した変数をログで表示しています。
![](https://automate-lab.com/wp-content/uploads/2022/02/571a82aa9fa95e9dd03f724dc3a94890-1024x379.png)
最初にサブファイル(ファイル設定IN)の結果が表示されました。
次にMainでの結果が表示されています。
変数が共有されたので2つとも同じファイル名が出力されました。大成功!
まとめ
今回は「【はじめてのUiPath】引数(IN)を使って変数を受け渡す」を説明しました。
- ファイル間で変数を共有するには引数を使う
- 引数の方向を間違えないようにする
- Main.xamlから情報が入ってくる場合はINを使う
![こたろー](https://automate-lab.com/wp-content/uploads/2022/08/029e819ed9e509be92133288e874e0b6.png)
以上、こたろーでした。