Power Automate Desktopでの変数とその計算

Power Automate Desktopで何かのアクションをするとほとんどの場合その結果が変数に入ります。何かをした結果の続きはその変数を指定して行うことになります。

しかし、あまりその変数の使い方の情報がないので今回はそのお話をします。

Power Automate Desktopの変数の種類

Excelを起動するとExcelの画面がExcelInstanceという変数に入ります。もう一回Excelを起動するとExcelInstance2という変数が出来ます。はじめのExcelの画面に対する操作はExcelInstanceを指定して、後から開いたExcelに対する操作はExcelInstance2の変数を指定してどちらに対する操作なのかを指定します。

このようにどの画面を表すかという変数があります。

3回繰り返すときはループを設定します。ループを設定すると繰り返し回数を表すLoopIndexという変数が作成されます。これで繰り返し回数によってExcelの何行目に書き込むかというのを指定することができます。

このような数値の変数も設定できます。

Excelのセルの値やWebページの値を取り込めばその変数が作成されます。このような変数は文字データです。このような文字データはExcelに書き込まれた時点でExcelが数値データと判断すれば数値データに勝手に変換されます。

あるフォルダー内のファイル一覧を調べると、そのファイルのパスがファイルの数の分、取得されるのです。これは纏まってひとつの変数になります。

変数名の変更

変数名は自動的に作成されるのですが、独自にわかりやすい変数名を設定することもできます。

何かのアクションを設定したらその画面に作成される変数名が表示されています。

 

この変数名をダブルクリックすると%で囲まれた変数名になるので、その%を消さないように変数名を書き換えるとその変数名に変わります。

NewFolderという変数名をダブルクリックすれば、%NewFolder%という表示になるのでNewFolderを削除して%Tgt%にすれば変数名はTgtに変更できます。

変数の名前は英数字でなければなりません。また数値から始まる変数名を設定することはできません。 また、Loopのような他の機能で使っていそうな変数名も設定することはできません。

変数一覧 

画面左上の{x}のボタンをクリックするとフロー変数というエリアが表示されます。

これが変数の一覧表です。

フロー変数のエリアには、変数名と変数の内容が表示されています。

変数名をダブルクリックするとその内容が詳細に表示されます。

以下の変数は指定したフォルダーを表す変数です。フォルダーの名前がNameで、ドライブがRootPathという名前で参照できることがわかります。

フロー変数のエリアに書いてある変数の内容を表している文字列が[]で囲まれているものとそうではないものがあります。 

これが一つの変数の中に複数の値が入っているもので、このような変数をリストと呼びます。リストは変数名をダブルクリックすると、その一覧が表示されます。

これはフォルダー内のファイル一覧を調べたFilesというリストの形の変数をダブルクリックで展開したものです。それぞれに番号が0からついていて、ファイルの場所とファイル名が格納されているのが分かります。 

変数を参照する

設定した変数は、アクションを設定する時の画面で{x}という表示があればそのボタンをクリックすると変数の一覧が表示されるのでその中から指定する変数を選択するだけです。

そうすると変数名が%で囲まれたものが、挿入されます。

変数の計算

変数は計算することができます。

インクリメントとデクリメント

数字型の変数に1を足すという動作はアクションの変数の中にあります。

この方法だと、例えばXという変数名で変数を大きくすると、変数X自体が大きくなってしまいます。そうではなく、単純にXに1を足したものを指定したい場合は、次の計算方法で指定します。

四則計算

変数Xに数値1を足したものを表現したい場合は、「%X%+1」としてはいけません。

Power Automate Desktopにおいて「%」で囲まれたものが式になります。従ってXに1足したものは「%X + 1%」として表現します。

同様に引き算は「%X – 1%」、かけ算は「%X * 1%」、割り算は「%X / 1%」です。

変数XとYと数値の1を足す場合は「%X + Y + 1%」です。

掛け算割り算の方が足し算引き算よりも優先されるのでもし、足し算引き算を優先させて計算したい時は()で囲み「%X * (y + 1)%」のようにします。

文字の結合

変数Xと変数Yを使って「XからYの間」のようにするためには、「%X + ‘から’ + Y + ‘の間’ %」とします。文字の場合は足し算と同じように+を使うのですが、文字列として表示したい部分は”で囲みます。 文字として表現するのに単純に”で囲んでも認識しないものもあります。「’」「”」「\」といった記号は認識しないので、はじめに「\」を入力します。「\」を文字として表現した場合は「\\」となります。「\」はファイルやフォルダーを指定するのによく使う記号です。 フォルダーを表す変数フォルダーの中の「Temp」フォルダーの場所を表すには「%fdr + ‘\\Temp’%」となります。

変数の作成

何かのアクションを設定しなくても初めに変数を用意しておきたいケースもあります。その場合は、変数アクションの中の変数の設定を使います。

変数の設定を使うと、 変数と値を設定する画面が表示されますので、これで新たに変数を作成することができます。既存の変数同士を計算したものを新しい件数に格納するということもここでできます。

変数の中の詳細を取り出す

変数の中には詳細な情報が格納されている場合があります。それを取り出すには「%変数名.取り出したいもの%」という指定をします。変数名と取り出したいものの間は「.」(ピリオド)で区切ります。 NewFolderというフォルダーを表す変数にはフォルダー名が詳細情報としてありますがその場合は「%NewFolder.Name%」と指定します。

リスト型変数から一つ取り出す

リスト型変数の中には順番にたくさんのデータが格納されていますが、それをそのまま指定すると、ひとつのデータで指定してほしいというエラーメッセージが表示されうまく動かない場合があります。その変数がリスト型変数の場合、その中から一つの値を取り出す必要があります。

その時は「%リスト型変数名[番号]%」のように変数名に[]で括った番号を指定します。番号は一個目が0になるので注意して下さい。

ファイル一覧を表す「Files」という変数の中の最初のファイルを取り出すには「%Files[0]%」と指定します。また、数値型の変数Xを使って「%Files[X]%」とすれば、変数で何番目のファイルかを指定することができます。

またリスト型変数は、ループのアクションのFor Eachで1つずつ順番に処理できます。その場合は[]で番号を指定する必要はありません。 

コメント

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