
変数(Variable)とは、一般的にプログラム言語において「値を入れておく箱」のようなものと言われます。
様々なデータを変数(箱)に中に入れることによって、中身が代わっても自由に引き出すことができ、変数がなければ複雑なプログラムも簡単に実装することができます。UiPathだけでなく、どのプログラミング言語においても必須の機能のひとつですので、この機会に変数について理解しておきましょう。
Contents
変数の具体的な例
例として「画面に文字を表示するロボット」で考えてみます。
画面に文字を表示する。
通常プログラミング言語において、「UiPath って画面に表示して!」というプログラムを書けば、当然ですが画面上に「UiPath」と表示されます。UiPathで言えば下記のようにメッセージボックスに「”UiPath”」と入力して実行すればその結果が表示されます。
ユーザ入力値を表示する。
では、「ユーザが入力した文字を画面に表示する」場合はどうでしょうか、下記は「Input dialog」アクティビティを使ってユーザに好きな文字を入力してもらい、入力した文字を画面上に表示するシーケンスです。
この場合ユーザに文字を入力してもらえるものの、画面上には必ず「UiPath」と表示されてしまいます。ユーザが入力する値は決まっておらず、人それぞれ何を入力するかは分かりません。ユーザが入力する値を予想して、画面上に表示する文字すべてを用意しておくことは現実として不可能です。
変数の登場
そこで登場するのが変数と呼ばれる機能です。ユーザが入力した値を一旦変数(箱)に入れておいて、画面に表示する際にはその変数を表示するようにロボットを作成しておけば、ユーザが入力した値をそのまま表示することができます。
1.ユーザに入力してもらう
2.入力値を変数に入れる
「input dialog」のプロパティパネル「Result」に変数名を入れることで、ユーザが入力した値がこの変数内に格納されます。
3.変数の中身を表示する
メッセージボックスでは変数を表示するように設定することで、変数の中身が代わってもユーザが入力した値を表示します。
メッセージボックス内に記載されているのが変数「result」です。
通常の文字列とは違い、ダブルコーテーション「”」が無い点に注意してください。
このように、変数を使用することによって、ユーザが入力した文字列をそのまま画面上に表示することができます。次からは変数の詳細について説明します。
変数の型
変数には「型(Variable Type)」というものがあります。型とは、変数の箱に入れる内容を種類ごとに整理する機能です。例えば、この箱には果物だけを入れる、こちらの箱には野菜だけ入れる、といったように変数毎に入れる内容を決めなければいけません。
箱に入れられる種類を限定しないと、中に何が入っているかわからなくなってしまいます。また中身を限定することによって、箱ごとに様々な操作を行うことが可能です。
UiPath Studioでは以下のような型が用意されています。他にもたくさんの型が用意されていますが、全てを理解する必要はありません。変数を使用しているうちに必ず必要になってくる型がありますので、その時々に型の種類を学習していきましょう。
String | 文字列を入れる型 |
Int32 | 数値を入れる型 |
Array | 配列を入れる型 |
Boolean | True/Falseを入れる型 |
Date and Time | 日付や時間を入れる型 |
Object | オブジェクトを入れる型 |
スコープ
変数ではスコープと呼ばれる使用可能範囲があります。スコープがあることにより、変数の使用範囲を限定し誤った変数が呼び出されないようにすることが可能です。プロジェクト全体で使用したい変数の場合は、Variablesパネルなどからグローバル変数に格上げして使用しましょう。
変数のプロパティ
変数はアクティビティではありませんが、以下のようなプロパティがあります。
Default | 変数にデフォルトで値を入れることができます。 |
Modifiers | none:特に何も指定しません。 ReadOnly:変数の書き換えを許可しません。 |
Name | 変数名を指定、変更できます。 |
Scope | 変数が使用できる範囲を指定します。 |
Type | 変数の型を指定します。 |
変数の作り方
変数の作り方には3つの方法があります。以下のどれでも変数は作れますがそれぞれ少しずつ、操作方法などが異なりますので違いを確認し、自分の方法にあった作成の仕方を選びましょう。
variablesパネルから作成する方法
variablesパネルで変数を作る方法です。このパネルで作成する場合は、「変数名」「変数の型」「スコープ」「デフォルト値」の設定が可能です。Variablesパネルに表示されている「Create Variables」をクリックする事により新規に変数を作成することができます。なお、ひとつもアクティビティがない状態では変数を作成することができませんので、メッセージボックス等あらかじめアクティビティを配置しておいてください。
「Create Variable」をクリックした結果。
Variablesパネルから新規に変数を作成した場合、デフォルトで変数名が「variable1」、変数の型が「String」、スコープが「開いているシーケンスorフローチャートの最大部」、デフォルト値が「空」の状態で作成されます。必要に合わせて変数名や型、スコープなどは変更するようにしましょう。
プロパティパネルから作成する。
プロパティパネルからも変数の作成が可能です。「input dialog」アクティビティの例で示します。「input dialog」を選択しプロパティパネルを確認すると、以下のように「Output」「Result」の項目があります。
このプロパティはユーザの入力値を格納する場所を決めるプロパティですが、このResultの項目を選択し、「Ctrl + K」を押すことにより変数名を設定する画面に切り替わります。この状態で変数名を入力しエンターを押すことにより変数が自動的に作成されます。
プロパティパネルから変数を作成した場合は、変数名を指定できますが変数の型などは自動的に判定され作成されます。便利な機能なのですが、自身の思っている型とは違った型で作成される場合もあるので、変数の作成後、必要に応じてVariablesパネルから修正しましょう。
Designタブ「Create Variable」から作成する。
画面上部のDesignタブからも変数を作成することが可能です。Designタブの「Create Variable」をクリックすることによって、変数の型から選択し作成することができます。
使用したい型が決まっている場合はこちらから作ると早いかと思います。
型選択後には、変数名やデフォルト値、スコープをグローバルにする、などの指定が可能です。