デスクワークを超絶快適にするおすすめギアたち

Power Automate for desktopテキストの行数を取得する。

【当サイトはプロモーションを含んでいます】

この記事でわかること!

  • Power Automate for desktop(PAD)でテキストの行数を取得する方法がわかる。
目次

テキスト(文字列)の行数を取得したい。数えたい。

ぽこがみさま

PADでブラウザやアプリケーションから取得したテキストの行数を知りたい時があります。

じょじお

テキスト変数には行数をパッと返してくれるプロパティが残念ながらありません。そのため、一旦リスト変数に変換してからリスト変数のプロパティを使って行数を確認するのが良いかと思います。

ぽこがみさま

テキスト変数をリスト変数に変換?どうやるの?

じょじお

テキスト変数をリスト変数に変換するには「テキストの分割」アクションが便利です。

行数カウントする流れ

行数を確認する方法!

  • テキストを「テキストの分割」アクションを使って、行ごとに分割してリスト変数にする。
  • 出力されたリスト変数のLengthプロパティを見れば行数がわかる。

テキストの分割アクションとは?

じょじお

テキストの分割アクションについては下記の記事で紹介しているので併せてご覧いただくとわかりやすいかと思います。

フローを作成してみよう。

じょじお

例として、今回はMicrosoft Wordファイルの文書をフローの中で取得し、そのテキストの行数をカウントしてみたいと思います。

STEP
ターゲットとゴールを確認します。
じょじお

下記が今回ターゲットにするWordファイルです。このWordの文章の行数をカウントします。

Power Automate desktop 行数カウント
STEP
Power Automate for desktopを起動して新規フローを作成します。
STEP
「ウィンドウにあるUI要素の詳細を取得する」アクションを追加します。
Power Automate desktop 行数カウント

▲「ウィンドウにあるUI要素の詳細を取得する」アクションを追加します。

じょじお

「ウィンドウにあるUI要素の詳細を取得する」アクションはアプリケーションから情報を取得するためのアクションです。

Power Automate desktop 行数カウント

UI要素というパラメータにWordファイルから取得したUI要素を設定します。

じょじお

UI要素の取得方法についてわからない場合は、下記の記事で紹介しているのでそちらをご覧ください。今回は詳しい説明は省略させていただきます。

STEP
フローを実行してみます。

Word文書が読み込めるかを確認するためにテスト実行してみます。

Power Automate desktop 行数カウント

▲「ウィンドウにあるUI要素の詳細を取得する」アクションは結果を「AttributeValue」というテキスト型の変数に出力してくれます。フロー実行後にこの変数をダブルクリックしてみると、↑の図のように取得できていることが確認できます。

ぽこがみさま

この図を見るとWordには4行のデータがあるようなので「行数は4」と取得できれば成功ですね。

STEP
「テキストの分割」アクションを追加します。
Power Automate desktop 行数カウント

▲「テキスト」グループの中の「テキストの分割」アクションを追加します。

Power Automate desktop 行数カウント

▲「テキストの分割」アクションのパラメータを入力します。

パラメータ

  • 分割するテキスト:%AttributeValue%
  • 区切り記号の種類:カスタム
  • カスタム区切り記号:\r\n|\n|\r
  • 正規表現である:オン
改行単位で分割方法
じょじお

今回、カスタム区切り記号に指定している「\r\n|\n|\r」は正規表現というパターンを表現する表記法において改行コードを表しています。

ぽこがみさま

つまり「改行があったらテキストを分割してね」って意味ですね。

じょじお

改行コードは3種類(下表)あるので、念のためいずれの改行コードにもマッチする書き方をしました。

改行コード説明
\r\nWindowsの改行コード
\rMACの改行コード
\nLinux/UNIXの改行コード
正規表現の改行コード
じょじお

下図のように指定することで正規表現を使わないで改行単位で分割する方法もあります。ただ、下図の方法はターゲットテキストによってはうまく分割できないことがあるので今回は正規表現を使いました。

Power Automate desktop 行数カウント
STEP
フローを実行してみます。
じょじお

「テキストの分割」アクションが正しく動作しているか確認するためにフローをもう一度実行してみます。

ぽこがみさま

「テキストの分割」アクションは結果を「TextLists」という名前のリスト型変数に出力してくれます。この変数の中身を確認してみましょう。

Power Automate desktop 行数カウント

▲こちらが結果です。4行のテキストデータが4つのリストデータになりました。成功です。

STEP
「メッセージを表示アクション」を追加します。
じょじお

行数を「メッセージを表示」アクションで表示させてみます。

Power Automate desktop 行数カウント

▲「メッセージを表示」アクションを追加してパラメータを入力します。

パラメータ

  • 表示するメッセージ:行数は%TextList.Count%です。
じょじお

行数は「%TextList%変数に値が何個あるか」と同じです。
「%TextList%変数に値が何個あるか」を確認するには%TextList%変数の「Count」プロパティを確認します。

プロパティの入力の仕方
Power Automate desktop 行数カウント

▲TextList変数のCountプロパティを入力するには、①{x}をクリック > ②TextListをクリック > .Countをダブルクリックします。この操作を行うと「%TextList.Count%」という文字列を設定画面に挿入できます。

プロパティとは?

STEP
フローが完成しました。フローを実行します。
Power Automate desktop 行数カウント

▲フローが完成しました。フローを実行してみます。

Power Automate desktop 行数カウント

▲こんな感じで行数をメッセージボックスに表示させることができました。成功です。

STEP
おわり

行数が1と取得・表示される時の対処方法

上で紹介した方法を使って行数を取得したとき、実際は複数行あるのに1行と認識されるケースがあります。

その場合、元のテキストに改行が入っていないのが原因の可能性があります(今回の例ではWordファイル)。

Power Automate desktop 行数カウント
改行が入ったテキスト
Power Automate desktop 行数カウント
改行が入ってないテキスト

この場合は、ケースバイケースですが句点「。」で文章ごとに分割してしまう方法などがあります。

1行多くカウントされてしまうときの対処方法

ターゲットテキストによっては4行なのに5行というように1行多くカウントされることがあります。これは文末に改行コードがある場合、下の図のようにリストに空白行が挿入され、その分1つ多くカウントされることが原因です。

Power Automate desktop 行数カウント
じょじお

対策としては、「テキストの分割」アクションの前にターゲットテキストから「テキストのトリミング」アクションを使って文末の改行コードを削除しておくとよいでしょう。

じょじお

あるいは%TextList.Count-1%とすることで引き算でマイナス1する方法もあります。

まとめ

じょじお

PADでテキストの行数をカウントするために「テキストの分割」アクションでリストに変換する方法について紹介しました。

ぽこがみさま

このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。

Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。

Microsoft 365/ Power Automate / Power Platform / Google Apps Script…

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

お役に立てたらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!
目次