PADのデータテーブルで、行列を入れ替える方法【Power Automate Desktop】

Power Automate Desktop

Power Automate Desktop(PAD)で、データテーブルの行と列を入れ替える方法について解説します。

前提:Excelを使用してデータテーブルを操作する

まず前提として、PADのデータテーブルを操作するにはExcelを使用します。

というのも、PADで用意されているデータテーブルに関するアクションはそんなに豊富ではないためです。Microsoft公式においても、回避策として、いったんExcelに展開して、データテーブルに戻す方法が紹介されているほどです。(じゃあアクション充実させてよ!って感じですが)

データテーブルの作成

対象とするデータテーブルは以下とします。

行数を取得する

データテーブルの行数を取得しておきます。

「データテーブル名.RowsCount」で、データテーブルの行数を取得できます。

ここでは、Dt_Columns_Cntのほうにも行数が格納されていますが、のちほど行列を入れ替えたあとに使うため、これでOKです。

【ポイント】Excelを最前面に出しておく

Excel操作時は、Excelを最前面にしておくことをおすすめします。

本記事の内容では、特に、Excelのショートカットキーを使って画面を操作する場合などはExcelが最前面になっていないとエラーが発生します。

使用するアクション

ウィンドウにフォーカスする

「ウインドウの検索モード」は「ウインドウのインスタンス/ハンドルごと」、

ウインドウインスタンスは、「Excelの起動」アクションを追加した際に生成されたExcelInstanceを設定します。

Excelワークシートにデータテーブルを書き込む

作成したデータテーブルを、Excelに書き込みます。

使用するアクション

Excel ワークシートに書き込む

これでExcelのA1セルに、データテーブルの内容が転記されます。

行列の入れ替え

行列の入れ替えに関するフローは、以下のようになります。

最初の空白行・列を取得し、データテーブルが転記された範囲をコピーします。

入れ替えはショートカットキーで行う

Excel内での行列の入れ替えは、ショートカットキーを使用します。

使用するアクション

キーの送信

Excelで行列を入れ替えて貼り付ける時のショートカットキーは、

  1. Alt
  2. H
  3. V
  4. S
  5. E
  6. Enter

です。これをキーの送信に設定していきます。

「送信するテキスト」に、大かっこを使って {Alt} {H} のように記載します。

参考:Microsoft Power Automate マウスとキーボードのアクション

ショートカットキーを実行すると、以下のように入れ替えた内容が貼り付けられます。

データテーブルにExcelの内容を戻す

最後に、データテーブルにExcelの内容を戻します。

「変数を大きくする」では、最初に取得したデータテーブル行数(Dt_Rows_Cnt)に、最初の空行(5行目 ※事前に1大きくしている)を足しているので、3 + 5 = 8 行目が最終行であると算出されます。

入れ替え後のデータテーブルの最初の行は、

  • 先頭行:最初の空行(5行目 ※事前に1大きくしている) =5
  • 最終列:最初に貼り付けたデータテーブルの列数 = 3
  • 最終行:先ほど計算した、最初の空行+最初に貼り付けたデータテーブル行数 = 8

により、5行目から8行目を、3列分取り出すことができます。

動作確認

完成したフローを実行すると、以下のようになります。

行と列が入れ替わった、新しいデータテーブルが作成されました。

※「001」の0埋めがなくなっていますが、これは別途記事にして解説します

フロー全体(サンプル)

まとめ

今回は、Power Automate Desktop(PAD)で、データテーブルの行と列を入れ替える方法について解説しました。

データテーブルの行列を入れ替えるには、いったんExcel上に展開し、Excelのショートカットキーで行列入れ替えして貼り付け、そしてデータテーブルに戻すという、やや面倒な手順となります。

もし、本記事のなかで分からないことや、「こんな処理を実現したいんだけど、どうやるの?」といった質問などがありましたら、お気軽にコメントいただければと思います。問い合わせフォームからご連絡いただいてもかまいません。

chaso

文系出身、数字が苦手な平凡主婦。塾講師、大手企業SE、不動産事務、Webライター、QAエンジニアを経て現在RPAエンジニアとして働いています。機械音痴だけど効率化や自動化をこよなく愛しています!お仕事の依頼・ご相談は問い合わせよりお願いいたします♪

chasoをフォローする

コメント

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