【UiPath応用】第8回:分割と再利用~巨大なロボットを「部品」に分けて管理しよう~

こんにちは!UiPath メンターです。

「ロボットを作っていたら、縦に長くなりすぎてスクロールが大変……」
「以前作った『ログイン処理』を、別のロボットでも使いたい」

そんな時は、ワークフローを**「部品(ファイル)」**に分けましょう。
例えば、「ログイン.xaml」「データ抽出.xaml」「メール送信.xaml」のようにファイルを分け、メインのロボット(司令塔)がそれらを順番に呼び出す形にします。

こうすることで、修正が楽になり、他のロボットでも部品を再利用できるようになります。
今回は、ファイルを分ける方法と、ファイル間でデータを受け渡しする**「引数(ひきすう)」**について学びます。

1. 新しいワークフローを作る

まずは、メインとは別の新しいファイルを作ってみましょう。

手順

  1. UiPath Studioの左下にある [プロジェクト] パネルを開きます。
  2. プロジェクト名(フォルダアイコン)の上で右クリックし、[追加] > [シーケンス] を選びます。
  3. 名前を付けます(例:Login.xaml)。
  4. [作成] を押すと、新しい白いキャンバスが開きます。

この新しい `Login.xaml` の中に、Webサイトを開いてログインする処理を作っていけば良いのです。

2. 部品を呼び出す:「ワークフロー ファイルを呼び出し」

部品ができたら、それを `Main.xaml` から使ってみましょう。

手順

  1. `Main.xaml` のタブを開きます。
  2. [プロジェクト] パネルにある `Login.xaml` を、メインのキャンバスに直接ドラッグ&ドロップします。

すると、[ワークフロー ファイルを呼び出し (Invoke Workflow File)] というアクティビティが自動的に配置されます。
これで、ロボットはここに来たら `Login.xaml` に寄り道して、終わったら戻ってくるようになります。

3. 最難関:「引数(ひきすう)」を理解する

ここで大きな壁にぶつかります。
「Mainで持っているIDとパスワードを、どうやってLogin部品に渡すの?」

変数は、そのファイル(家)の中でしか使えません。
別のファイル(隣の家)にデータを渡すには、「引数」という専用のポストを使う必要があります。

方向 意味 イメージ
入力 (In) 外からデータをもらう 部品にとっての「材料」
(例:ログインID)
出力 (Out) 外へデータを渡す 部品からの「成果物」
(例:抽出したデータ)

4. 引数の設定手順

例として、「Main」から「Login」へ「ユーザー名」を渡す設定をしてみましょう。

Step 1:受け取る側(Login.xaml)の設定

  1. `Login.xaml` を開きます。
  2. 画面下の [引数] タブをクリックします(変数の隣にあります)。
  3. 新しい引数を作ります。
    • 名前:in_UserName (入力なので頭に in_ を付けるのがお作法)
    • 方向:入力
    • 型:String
  4. 作成した処理(文字を入力など)の中で、この in_UserName を使います。

Step 2:渡す側(Main.xaml)の設定

  1. `Main.xaml` に戻ります。
  2. 配置してある [ワークフロー ファイルを呼び出し] アクティビティの [引数をインポート (Import Arguments)] ボタンをクリックします。
  3. 画面が開き、先ほど作った in_UserName が見えているはずです。
  4. 「値」の欄に、Main側で持っている変数(例:str_MyID)や、固定の文字("admin")を入力します。

これでパイプが繋がりました!
Mainの str_MyID の中身が、Loginの in_UserName にコピーされて渡されます。

5. 出力(Out)も同じ考え方

逆に、部品で作ったデータ(例:スクレイピングしたデータテーブル)をMainに持ち帰りたい場合は、部品側で引数の方向を「出力 (Out)」にし、名前を out_ResultTable のようにします。

Main側の [引数をインポート] 画面で、その値を受け取るための変数(空の箱)を指定すれば、処理が終わった瞬間にデータが入ってきます。

今回のまとめ

  • ワークフローを分けると、見やすく、再利用しやすくなる。
  • 別のファイルにデータを渡すには「引数 (Arguments)」を使う。
  • 入力 (In) は「渡すデータ」、出力 (Out) は「持ち帰るデータ」。
  • 呼び出す側(Main)で [引数をインポート] して、変数と引数を紐付ける。

💡 メンターからのアドバイス:変数と引数の違い

初心者が一番混乱するポイントです。
変数: 私室のゴミ箱。家族(他のファイル)は見えない。
引数: 玄関のポスト。家族(他のファイル)とやり取りできる。
「このデータは他のファイルでも使うかな?」と考えて、使うなら「引数」に昇格させましょう。

次回からは第4章、最終章となる「Orchestrator連携」編です。
「パスワードをコードに直書きするのは危険!」
そう思ったあなたに、クラウド上でパスワードを安全に管理し、ロボットにこっそり渡す技術「アセット (Assets)」を紹介します。

タイトルとURLをコピーしました