Power Automate Desktop(PAD)のデータテーブルでヘッダー(列名/カラム名)を取得する方法について解説します。
データテーブルのヘッダーを取得する方法
PADでデータテーブルのヘッダーを取得する方法は、以下になります。
例えば、以下のデータテーブル(変数名:DataTable)を取得する場合、%DataTable.Columns% と指定することで取得できます。
上記の例では、「変数の設定」アクションにて、新しい変数にヘッダーを格納しています。「変数の設定」アクションではデフォルト変数名は %NewVar% となっていますが、分かりやすくするために変数名も変更しています。
このフローを実行すると、変数 ColumnNameList にはヘッダー名がリスト形式で格納されます。
取得したヘッダーの扱い方
取得したデータテーブルのヘッダーの扱い方についていくつか紹介します。
特定のヘッダー名を取り出す方法
ヘッダー名のうち、特定のヘッダー名のみ取り出す方法です。
ヘッダー名のうち、2番目だけ取り出したい場合は
%ColumnNameList[1]%
となります。1番目なら0、2番目なら1、3番目なら2・・・と、リストのインデックスを0はじまりで指定することで特定のヘッダー名のみを取得することができます。
上記のフローを実行すると、2番目のヘッダー名である「値段」が表示されます。
ヘッダー名を一つずつ取り出す方法
データテーブルのヘッダーはリストで取得されます。このリストから、ヘッダー名を一つずつ取り出す方法を解説します。
For each ループの追加
リストを一つずつ取り出すには「For each」を使用します。リストのループに関する詳細はこちらの記事をご参照ください。「反復処理を行う値」には、%ColumnNameList% を設定します。
ループ内でメッセージを表示
For each と end のあいだに、「メッセージを表示」アクションを追加します。「表示するメッセージ」には %CurrentItem% を設定します。
フロー全体
このフローを実行すると、データテーブルのヘッダーの中身が、「商品名」→「値段」→「産地」の順で一つずつ表示されます。
Excelにヘッダーを転記したい場合
Excelにデータテーブルを転記する場合、データテーブル変数を指定しても、ヘッダー名(カラム名)までは転記されません。そこで、まずカラム名を取得して、そのリストをループで回して転記する必要があります。
カウンター変数 Counter の初期値に1を割り当て、ループ内で1列目から順に転記していきます。
「Excelワークシートに書きこむ」アクション内で、列に%Counter%、行に1を指定します。
このフローを実行すると、データテーブルのヘッダー部分のみがExcelに転記されます。
まとめ
今回は、Power Automate Desktop(PAD)のデータテーブルでヘッダー(列名/カラム名)を取得する方法について解説しました。
当ブログでは、Power Automate、Power Automate Desktopに関する記事を他にも投稿しています。もし、「このようなことが知りたい」「こんなフローの作り方が知りたい」等ございましたら、問い合わせやコメントからお気軽にご連絡ください。
コメント