【初心者向け】UiPathによるRPA実装10 ユーザーからの入力受付処理の実装

さて、前回までの記事では、Google Webサイトを開いて、”RPA”というワードで検索を行う処理までを自動化しました。今回は検索ワードを毎回決まりきったものではなく、ユーザーが任意のワードを指定できるような機能を組み入れたいと思います。これにより、プログラムの汎用性を高めることができます。

<スポンサーリンク>

「Input Dialog」による入力受付

さて、早速ですが、ユーザーから対話的に情報を受け取るためには、「Input Dialog」というActivityを使用します。

UiPathウインドウのActivitiesペインから「Input Dialog」Activityを検索し、中央のSequenceボックスの一番上にドラッグ&ドロップしてください。

表示されたボックスには、2か所入力する欄があります。各欄の用途は以下表の通りです。

Title欄 ユーザーに入力を促すウインドウのタイトルバーに表示する文字列を指定します。
Label欄 表示されるウインドウ内に表示する文字列を指定します。

ここでは、以下図の通り入力してみることにします。文字列は ( ” )で括って入力しなければならない点に注意して下さい。

ちなみに、これで表示されるウインドウのイメージは、下図の通りです。

指定した文字列が、確かにウインドウに表示されていますね。

入力された文字列の利用

さて、ユーザーから入力を受け付けるためのActivityの設置は完了しました。ところが、今のままでは、ユーザーが入力した文字列を使ってGoogle検索を行うという目的を達成することができません。

なぜでしょうか。

これには、2つの理由があります。

  1. ユーザーからせっかく文字列を入力してもらったにも関わらず、それがどこにも保存されていない。
  2. その文字列を、Googleの検索バーに入力するという指定ができていない。

この2点に対して、順に解決していきたいと思います。

Variable(変数)の設定

1つ目の問題に対して、まずは入力してもらった文字列を保存する入れ物を用意する必要があります。UiPathではこの入れ物のことを「Variable(変数)」と呼びます。

それでは、さっそくVariableを作成してみましょう。

UiPathウインドウの下部に、よく見ると「Variables」と書かれている部分があると思います。ここをクリックします。

すると、Variableを設定するための領域が表示されます。

指定する項目は全部で4つありますが、それぞれの内容について簡単に紹介します。

Name Variableの名前です。
Variable type Variableには、文字列や数字などを入れることができますが、どんなタイプの値を入れるのかを指定します。よく使うタイプの一例としては、「String(文字列)」、「Int32(整数)」などがあります。
Scope 作成するVariableが、どの範囲で使用できるかを設定します。少し例を用いて説明しましょう。

まず、Sequenceは、複数のものを縦につなげたり、入れ子にしたりすることができます。(前回、大きなSequenceの中にRecording Sequenceを入れたのが、まさに入れ子構造です。)

ここで、Sequence A, Bの2つがあるとし、Aの中にBが含まれているとしましょう。

仮にVariableのScopeを”B”とすると、そのVariableはBの中だけで使えるものとなり、AのB以外の範囲では使うことができません。一方、Scopeを”A”とすると、そのVariableはA全体で使うことができますので、Aに含まれるBでも使えることになります。

慣れないうちは、なるべく広い単位でScopeを設定しておけば問題ないでしょう。(上の例では”A”と設定する、ということです)

Default Variableに初めから何かしらの値を入れておきたいときは、ここにその値を指定します。他の3項目は指定が必須ですが、この項目だけは任意の指定項目です。

今回の例では、以下の図の通り、各項目を設定しました。

さて、ここで作成したVariableに、「Input Dialog」Activityでユーザーに入力してもらった文字列を入れる必要があります。そのためには、中央領域内の「Input Dialog」Activityをクリックして選択し、ウインドウ右側の「Properties」ペインで作成したVariableを指定する必要があります。

現在Propertiesペインが狭くて見づらいため、少し広げましょう。広げるためには、ペインの境目をドラッグ&ドロップします。

Propertiesペインを広げた結果、「Output」という項目と、その中に「Result」という文字が表示されるようになりました。この「Result」の右の欄に、先ほど作成したVariableの名前を入力します。

以下のように入力することにより、「Input Dialog」で入力された文字列が、”searchWord”というVariableに入るように設定できました。

検索バーに入力する文字列のVariable化

さて、Variableの設定が完了したところで、検索ワードとしてこれを使うように既存の処理に変更を加えてみましょう。といっても、作業は非常に簡単です。

まずは、”RPA”という文字列を検索バーに入力しているActivityを探しましょう。このActivityに指定されている文字列をVariableに置き換えてやるだけです。

今回設定したVariable名は”searchWord”でしたから、この名前を入力欄に入れてやるだけです。なお、文字列は ( ” )で括って入力する必要がありますが、Variable名は括らないで入力する必要があることに注意して下さい。括ってしまうと、searchWordというVariableではなく、”searchWord”という文字列として扱われてしまいます。

テスト実行

ここまでの作業が終わりましたら、自動化プログラムが意図した通りに動くか、上部の「Run」ボタンを押して実行してみましょう。

実行すると、まずは検索ワードの入力を促すポップアップが表示されると思います。ここでは、UiPathと入力してみました。

すると、処理が自動的に進み、Google Webサイトでキーワード”UiPath”による検索結果が表示されました。

うまくプログラムは動きましたでしょうか。

さて、次回の記事ではこのGoogle検索結果より主要な内容を抽出し、ローカルに保存するという処理を自動化したいと思います。