Power Automate Desktop:テキストファイルの基本的な読み書きと、エンコーディング・大容量処理の安定化テクニック
はじめに
Power Automate Desktop (PAD) を活用したテキストファイルの効率的な入出力と、業務自動化に必須な文字化け(エンコード)・エラー処理のテクニックを解説します。
解説動画
基本的な手順
テキストファイルから情報を読み込む
一括で全て読み込む
サンプルとして次のようなテキストを読み込みます。

「ファイル」の「ファイルからテキストを読み取る」を設置します。

設置したアクションにパラメーターを設定します。
| 項目 | 設定値 |
|---|---|
| ファイル パス | 読み取るファイルを指定します。 右のファイルアイコンをクリックすると ファイル選択ダイアログが開きます。 ファイル型の変数やテキスト型の変数でファイルパスを指定しても構いません。 |
| 内容の保存方法 | 単一のテキスト値 |
| エンコード | テキストファイルの文字コードです。 多くの場合はUTF-8ですが、 読み取り結果が文字化けする場合は変更が必要です。 |

このアクションを保存してフローを実行すると、生成された変数「FileContents」にファイルの内容が設定されます。

1行ずつ読み込む
「内容の保存方法」をリストに変更すると、行ごとに分割してリスト形式で読み込みます。

次に「ループ」の「For each」を設置します。

パラメーターの「反復処理を行う値」に、
「ファイルからテキストを読み取ります」で生成された変数の「FileContents」を指定します。

読み込んだテキストファイルの内容の行毎に「For each」の中のアクションを繰り返します。
1行の内容はCurrentItemに設定されます。

「For each」の中に「メッセージボックス」の「メッセージを表示」を設置して、表示するメッセージにCurrentItemを指定します。


このフローを指定するとファイルの内容の1行ごとにダイアログが表示されます。


テキストファイルに情報を書き込む
「ファイル」の「テキストをファイルに書き込む」を設置します。

設置したアクションにパラメーターを設定します。
| 項目 | 設定値 |
|---|---|
| ファイル パス | 書き込むファイルを指定します。 右のファイルアイコンをクリックするとファイル選択ダイアログが開きます。 ファイル型の変数やテキスト型の変数でファイルパスを指定しても構いません。 |
| 書き込むテキスト | ファイルに書き込むテキストを指定します。 |
| 新しい行を追加する | テキストの末尾に改行を入れる場合、ONにします。 |
| ファイルが存在する場合 | すでにファイルパスにファイルが存在する場合の動作を指定します。 ・既存の内容を上書きする…既にあるファイルの内容を破棄して書き込み ・内容を追加する…既にあるファイルの内容の末尾に追記 |
| エンコード | テキストファイルの文字コードです。 多くの場合はUTF-8ですが、 ファイルのその後の用途によって変更する場合があります。 |

1行ずつ書き込む
ループの中に「テキストをファイルに書き込みます」アクションを設置して。「新しい行を追加する」パラメーターをONにすると1行ずつ書き込む動作になります。

エンコーディング(文字コード)の不一致と解決策
テキストファイルの読み取り時に文字化けが発生した場合、それはファイル自体の文字コードと、PADのアクションで設定されているエンコードが一致していないことが原因です。
基本的には、まず「UTF-8」を試行し、文字化けが発生した場合にのみ「システムの規定値」などを順次試すのが最も効率的なアプローチです。
一般的な文字化け
Windows標準のメモ帳などで作成されたファイルはShift-JISやANSIの可能性が高いです。
この場合、エンコードを「システムの規定値」(多くの場合、この設定)または 「ANSI」 を試してみましょう。


Web由来、他OS由来
CSVやログファイルなど、WebサービスやLinux/Mac環境で作成されたファイルはUTF-8であることが標準です。
BOM付きUTF-8
一部のプログラムが生成するUTF-8ファイルにはBOM(Byte Order Mark)が付加されます。PADでは通常、UTF-8 でBOMの有無を問わず、問題なく読み取れます。
大容量のファイル
「内容の保存方法」が「単一のテキスト値」の場合、ファイル全体を一度にメモリにロードするため、大容量ファイルには適しません。処理速度と安定性の低下を招きます。
「リスト(それぞれがリストアイテム)」は必要に応じて順次処理することで、一括処理よりもメモリ負荷を軽減します。そのため大容量テキストファイルには、こちらの方が有効です。
エラーハンドリング(ファイルが存在しない場合)
最も発生しやすいエラーの一つが「指定されたファイルが見つかりません」です。
これを回避するためには、ファイルを読み取る前にファイルの存在確認とエラー発生時の処理分岐を実装します。
詳細は次の記事で解説しています。
Power Automate Desktopを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,700ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方から各アクションの詳細な使い方、
頻出テクニック、実用例を紹介。(目次)
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。(更新履歴)
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。