この記事ではPower Automate for Desktop(以下:PAD)で、テキストを扱うときに基本のアクションについて解説します。
この記事で理解すること
- PADでテキストファイルを読み込む方法について理解する。
- PADでテキストファイルを新規作成する方法について理解する。
- PADで既存のテキストファイルにテキストを追記する方法について理解する。
- PADでテキストに改行する方法について理解する。
Power Automate for Desktopで、テキストファイルを開く方法
PADでテキストファイルを読み込むには「ファイルからテキストを読み取ります」アクションを使います。
テキストファイル(.txt)からテキストを読み取るには、「ファイルからテキストを読み取ります」アクションを使います。「ファイルからテキストを読み取ります」アクションは、アクション一覧の「ファイル」グループの中にあります。
「テキストをファイルに書き込みます」アクションの使い方
例として下図のテキストファイルを読み取って文字列を取得する方法を紹介します。
- ファイルパス
-
ファイルの場所をフルパスで指定します。クォーテーションで囲む必要はありません。
例:C:\Users\user\Desktop\テキスト.txt
- 内容の保存方法
-
- 単一のテキスト値…文字通り単一のテキスト値として取得します。
- リスト…1行のテキストを1つの値としてリスト形式で取得します。例えば、3行のテキストだったら3つの値を持つリストが取得されます。
- エンコード
-
- 規定値
- UTF-8
- Unicode
- Unicode(ビッグエンディアン)
- ANSI
Windows10でメモ帳でテキストファイルを作成した場合、UTF-8で保存されます。MacやブラウザもUTF-8が標準です。このためエンコードは基本的にUTF-8を選択しておけば問題ないかなと思います。UTF-8で文字化けするようでしたら他のエンコードで作成されたテキストファイルである可能性があります。その場合は他のエンコードを選択してください。
Power Automate for Desktopでテキストファイルに文字を書き込む方法
「テキストをファイルに書き込みます」アクションを使います。
テキストファイル(.txt)に文字を書き込むには、「テキストをファイルに書き込みます」アクションを使います。「テキストをファイルに書き込みます」アクションは、アクション一覧の「ファイル」グループの中にあります。
「テキストをファイルに書き込みます」アクションの使い方!
例として下図のテキストファイルに文字列を追記する方法を紹介します。
- ファイルパス
-
ファイルの場所をフルパスで指定します。クォーテーションで囲む必要はありません。
例:C:\Users\user\Desktop\テキスト.txt
- 書き込むテキスト
-
- 書き込むテキストを入力します。直接文字列を入力するか変数を入力します。
- 新しい行を追加する
-
テキストを入力した後、最後に改行コードを挿入するかどうかを指定します。個人的には改行を入れた方が次に追記する際に便利なケースが多いので改行コードを挿入しておいた方が良いかなぁと思っています。
- ファイルが存在する場合
-
ファイルが存在した時にどうするかを指定します。
- 内容を追加する
- 既存の文字列をそのまま残し、既存の文字列の後に追記します。
- 既存の内容を上書きする
- 既存の文字列を削除して、新しく文字を挿入します。
- 内容を追加する
- エンコード
-
- 規定値
- UTF-8
- Unicode
- Unicode(ビッグエンディアン)
- UTF-8(バイトオーダーマークなし)
- Unicode(バイトオーダーマークなし)
- ANSI
Windows10でメモ帳でテキストファイルを作成した場合、エンコードはUTF-8で保存されます。MacやブラウザもUTF-8が標準です。このためエンコードは基本的にUTF-8を選択しておけば問題ないかなと思います。もしUTF-8で文字化けするようでしたら他のエンコードで作成されたテキストファイルである可能性があります。その場合は他のエンコードを選択してください。
フローを実行してみましょう。フロー実行後にテキストファイルを確認しみてると、赤枠のところに「書き込みテスとです!」という指定した文字列を挿入することができていることが分かります。追記モードで書き込みましたので既存の文章もそのままです。
- 指定したファイルパスにテキストファイルが存在しない場合は?
-
ファイルを新規作成してくれます。
Power Automate for Desktopでテキストファイルで改行するには?
改行は「テキストに行を追加」アクションを使います。
「テキストをファイルに書き込みます」アクションで追記モードで書き込みを行う時、既存の文章の最後に改行コードが挿入されていない場合、上の図のように改行されないで(インラインで)追記されてしまうことがあります。
わたしとしては、レイアウト上改行して追記してほしかったので、追記部分を削除して書き込みをリトライしてみたいと思います。
テキストを改行するには(改行コードを挿入するには)、「テキストに行を追加」アクションを使用します。
「テキストに行を追加」アクションを使った改行の手順!
改行は↓図のイメージで3つのアクションを使って行う方法があります。
引き続き図のテキストファイルでテストを行います。(C:\Users\user\Desktop\テキスト.txt)
- ファイルパス:C:\Users\user\Desktop\テキスト.txt
- 内容の保存方法:単一のテキスト値
- エンコード:UTF-8
▲アクション一覧の中の「テキスト」グループから「テキストに行を追加」アクションを探して追加します。
- 元のテキスト:%FileContents%
- 追加するテキスト:(空白)
「追加するテキスト」に(空白)を指定することで文章の最後に改行コードを挿入できます。結果は%Result%変数に格納されます。
- ファイルパス:C:\Users\user\Desktop\テキスト.txt
- 書き込むテキスト:%Result%改行のテストでーす!
- ファイルが存在する場合:既存の内容を上書きする
- エンコード:UTF-8
フローを実行すると、改行してから追加の文字列(図の赤枠)を挿入できていることが分かります。
Power Automate for Desktopソースコード
File.ReadTextFromFile.ReadText File: $'''C:\\Users\\user\\Desktop\\テキスト.txt''' Encoding: File.TextFileEncoding.UTF8 Content=> FileContents Text.AppendLine Text: FileContents LineToAppend: $'''''' Result=> Result File.WriteText File: $'''C:\\Users\\user\\Desktop\\テキスト.txt''' TextToWrite: $'''%Result% 改行のテストでーす!''' AppendNewLine: False IfFileExists: File.IfFileExists.Overwrite Encoding: File.FileEncoding.UTF8
下記はPower Automate Desktopのソースコードです。フローデザイナー画面に張り付ける(Ctrl+v)と、上で解説したものと同じフローを再現できます。
まとめ
以上、Power Automate for Desktopでテキストを扱うときの基本について解説しました。
まとめ
- テキストファイルの読み込みには「ファイルからテキストを読み取ります」アクションを使う。
- テキストファイルへ書き込むには「テキストをファイルに書き込みます」アクションを使う。
- テキストの改行には「テキストに行を追加」アクションを使う。
次の記事では、正規表現を使ったパターン検索で、もっと柔軟に文字列を検索する方法について解説しています。良かったらみてにゃ!