変数の「型」について学ぶ

Power Automate Desktop
変数の「型」について学ぶ

Power Automate Desktopの変数は、そこに代入される内容により特定の「型」というものができます。

例えば、「こんにちは」という文字列が代入された場合、その「型」は「テキスト」型となり、「1」のような数字が代入された場合は「数値」型となります。このように「型」というのは変数という箱の種類みたいなもので、他のアクションを行う際に、元々定められている「種類」以外の箱をパラメータにアクションを行おうとするとエラーになります。例えば、「変数を大きくする」というアクションがありますが、ここに「こんにちは」という文字列を代入した変数をパラメータとして実行しようとするとエラーが表示されます。

このページでは、そういった変数の「型」と言われるものについて代表的なものを学んでいきましょう。

なお、この作成に当たっては公式サイトを参照しています。より正確な情報について知りたいという方は下記リンクから公式情報をご覧ください。

→公式サイトを参照する

1. 「テキスト」型

公式サイトには「電子メールアドレスから .txt ファイルのテキスト コンテンツまで、あらゆる種類のテキスト」と紹介されていますが、数値以外の文字列全てがここに当てはまります。「こんにちは」「朝」「犬」「今日も良い天気です。」などただの文字から文章まで全てテキストです。「1等賞」など数値と文字列が同時に含まれている場合、文字列として扱われます。「テキスト」型かどうか見分けるにはその対象のワードの前後がシングルクォーテーション(’)で囲まれているかどうかで判断します。

実際に「テキスト」型の変数を作成したい場合、変数の設定というアクションを追加し、値を書かれたテキストエリアの中に数値以外の任意の文字を書いてください。

2. 「数値」型

「数値」型は「数値に適用されるタイプです。数学演算で使用できるデータ型はこれのみです。」と定義されています。Power Automate Desktop上で計算するのに使われる値は全てこちらの型になるということですね。変数に代入する方法は「テキスト」型と一緒です。「変数の設定」アクションの値に数値を入れて追加してください。

ただし、実際に四則演算を行うには下図のように四則演算を行う範囲の両端に「%」を付けてあげる必要があります。それがないとただのテキストだと認識されて、例えば、下図の場合だと、「3」ではなく「1 + 2」という文字列として認識されるのでご注意ください。

3. 「ブール」型

英語だとBooleanと呼ばれ、真偽値のことを指します。この「ブール」型の値はTrueかFalseの2種類しかありません。

実際に使うには下図のようにTrueかFalseと直接書いてその両端を「%」で囲うか、条件式を「%」で囲う必要があります。TrueやFalseをテキストとして扱いたい場合は「%」を外してあげてください。

上図の結果はTrueとFalseになるはずです。この変数をメッセージボックスに表示してみると、以下のような形のメッセージが出てくるのでうまくいっていますね。実際は、2つのブール値が出てきた後に、テキストに変換されてしまっているのですが、細かい所はおいておきましょう。もし気になるようでしたら、それぞれの値を別々の変数に入れてあげてください。

4. 「リスト」型

公式サイトでは「リストはアイテムのコレクションです。個々のリスト項目の種類に応じて、テキスト値のリスト、数値のリストなどがあります。」と定義されていて、複数の変数をまとめて1つに扱えるようにしたものと言えます。

実際にリストを作成するには「新規リストの作成」アクションから追加するか、下図のように「変数の設定」アクションで、「%」の中に[ ]を書いてその中に値を追加することで作成することができます。また、下図の例からもわかるように、リストの中にリストを入れることもできますし、数値と文字列を一緒にリストにすることもできます。ただし、非常に扱いにくくなるのでオススメはしません。そういうのは後で紹介するカスタムオブジェクトでやってください。

5. 「データテーブル」型

公式サイトでは「データテーブルには、表形式のデータが含まれています。各アイテムの位置を一意に説明する行と列が含まれています。」と書かれていてよくわかりませんが、Excelみたいなデータなんだなと思ってください。Excelのように行と列があってそれを指定することでセル(この場合は値)を取り出すことができるような感じです。実際に、Excelからデータを読み取った場合、このデータ型に値が格納されます。他はデータベースからテーブルを取得した場合などもこの型に代入されます。

もちろん「変数の設定」から追加することもできます。以下のように「%」の中で{ }(この波カッコがテーブルになります。)を作り、行ごとに[ ](リスト)を作っていく感じです。[ ]と[ ]の間はカンマ(,)で区切ります。行の中に入っているリストの要素が列になります。気を付けるポイントはリストの要素数を揃えるということです。そうしないと列の数が行によって変わってしまい、エラーになります。列名を付けたい場合は最初のリストに列名を記入し、^をリストの前に追加します。また、これらのデータテーブルから行を1行取得した場合、「データ行」型というまた別の型となります。

テーブルデータからデータを取り出したい場合は変数の後に[ ]を2つ付け、1つ目に行番号を2つ目に列番号を記述してください。気を付けるポイントは行番号、列番号ともに0から始まっているということです。例えば下図の例だと、2行3列目のデータを引っ張ってくることになります。RPAに限らずですが、コンピュータ上でものを数えるときは0から数えることが多いので、慣れるようにしてください。

6. 「カスタムオブジェクト」型

カスタムオブジェクトは「プロパティと値のペアが含まれており、JSON 形式に簡単に変換」することができると公式に書かれている通り、JSON形式に似たデータ形式になっています。

実際に「カスタムオブジェクト」型の変数を作成するには「変数の設定」アクションで以下のように記述します。この場合、nameとageをプロパティと呼び、Lauraと24がそれぞれに対応する値となります。ここで覚えておくポイントはこの24という値は数値ではなくテキスト値として記述されるということです。数値として利用したい場合は「テキストを数値に変換」というアクションがあるので、そちらを利用しましょう。

また下図のようにカスタムオブジェクトの値にカスタムオブジェクトを入れることも可能です。この場合だとlanguageプロパティの値にprimaryとsecondaryというプロパティの持ったオブジェクトが入っていることになります。

また、カスタムオブジェクトの値を取り出したい場合ですが、下図のように変数の後に[ ]を付け、その中にプロパティ名を記述してあげるようにしてください。もしプロパティの値が更にカスタムオブジェクトになっている場合は、連続してその中にある[ ]を書いてプロパティ名を書いてあげればうまくいくはずです。カスタムオブジェクトをうまく使いこなせるようになると、任意の値を取り出せるようになりますし、今のネットワーク上のデータのやり取りの多くがJSON形式で行われているので、データの受け渡しができる幅を広げることができるようになります

いかがでしたでしょうか。変数の「型」についての理解は深まりましたか。実はPower Automate Desktopで使われる変数の「型」はとても奥が深く、各「型」には「プロパティ」と呼ばれる属性があります。こちらを利用することで、リストの要素数を数えたり、テキストの文字列の長さを数えたりできるようになるので、プロパティについて紹介している記事もぜひご参照ください。

→「プロパティ」について学ぶ →他の記事も見る

執筆者プロフィール

伊藤 丈裕

(株)サムテックのシステムエンジニア。応用情報技術者資格保有。
27歳の時、営業から完全未経験で転職。開発とWebマーケティングを担当。得意言語はJavaとJavaScript。