この記事には以下を書きます。
- 2022年2月に追加されたDatatable型変数の新プロパティ「ColumnHeadersRow」の概要がわかる。
- 元来から存在する「Columns」プロパティと新プロパティ「ColumnHeadersRow」の違いがわかる。
- 「ColumnHeadersRow」のメリット・活用シーンがわかる。
Datatable型変数の「ColumnHeadersRow」プロパティとは?
「ColumnHeadersRow」プロパティとは2022年2月のアプデで追加されたDatatable型変数の新しいプロパティです。表のヘッダー(列名)にアクセスできるプロパティということですが、列名を格納するプロパティって「headers」プロパティがあるじゃん。と思ったので2つの違いについて比較してみました。
まず、ColumnHeadersRowプロパティの解説を見てみます。公式ブログ記事内には以下の記載がありました。
In every datatable variable, there is now a new property of datarow type, called ‘ColumnHeadersRow’, which holds the column names of the said table. This will enable writing these column headers in a row (for example, in Excel) in an easy and straightforward way, rather than relying on the existing ‘Columns’ property, which returns the column headers in the form of a list.
引用:Power Automate Blog
(以下Deepl翻訳)すべてのdatatable変数に、’ColumnHeadersRow’というdatarow型の新しいプロパティが追加され、当該テーブルの列名を保持するようになりました。これにより、列ヘッダをリストの形で返す既存の ‘Columns’ プロパティに依存するのではなく、簡単かつ単純な方法で、これらの列ヘッダを行(例えば、Excel)に書き込むことができるようになります。
上記の解説にあるように従来のColumnsプロパティはリスト変数でした。しかしColumnHeadersRowは違うようです。じゃあなんなのでしょう。次の項で実際にExcel表を読み込んで2つを比較してみましょう!
ColumnHeadersRowプロパティとColumnsプロパティの違い。
結論から書きますと2つのプロパティの違いはデータ型です。従来のColumnsプロパティはリスト型でしたので縦方向にデータを格納していました。新しいColumnHeadersRowは名前のとおり横方向にデータが格納されています。
ColumnHeadersRowプロパティ | Columnsプロパティ | |
---|---|---|
データ型 | Datarow型 | リスト型 |
「ColumnHeadersRow」プロパティは何がメリットなの?
Excelへの書き込みが楽になりました。
ColumnHeadersRowは横方向、Columnsプロパティは縦方向・・・だからなんなの?って思われる方もいらっしゃるかと思いますが、DatatableをExcelに書き込むときってそのままダンプしてもヘッダー(列名)は出力してくれないんですよね。下図みたいに1行目に列名がないです。
なので列名が欲しい場合は列名を個別に書き込む処理が必要になるのですが、従来のColumnsプロパティは例えばA1セルを基準に出力すると下図みたいに縦方向にデータが出力されてしまうので、ループ処理の中で1セルずつ書き込む必要があり面倒でした。
それが、「ColumnHeadersRow」プロパティであればA1を基準にしてワンアクション横方向に出力できるのでとても簡単になりました。(下図)
(補足)Excelに出力した時の違い
▲ダミーExcelデータを用意します。
▲ダミーExcelデータをPower Automate for desktopで読み込みます。
▲ColumnHeadersRowプロパティを変数に格納します。(プロパティへのアクセス方法は「変数名.プロパティ名」を記述します。)
▲Columnsプロパティを変数に格納します。(プロパティへのアクセス方法は「変数名.プロパティ名」を記述します。)
▲書き込み結果です。行方向に書き込まれました。
▲列方向に書き込まれました。
2022年2月 PADのその他のアプデ情報
2022年2月のアプデでは、いくつか大きな追加がありました。前回の記事ではその中のひとつ「Base64アクション」を紹介しています。ローカルPCの画像をメール本文中やTeamsメッセージ内に挿入する方法です。ご興味があればあわせてご覧ください。
関連記事
まとめ
以上、Datatable型変数の新プロパティ「ColumnHeadersRow」について紹介しました。
このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!
Power Automate学習教材
▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。
▲Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。
▲Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。
Microsoft 365/ Power Automate / Power Platform / Google Apps Script…
▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります。頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。