Power Automateについて詳しく解説します
- Power Automate Desktopでファイル操作を自動化したい
- ファイル操作には、どんな操作があるの?
- 何をどうやって設定すればいいのかわからない。
当記事では、上記の疑問にお答えします。
Power Automate Desktopを使えば、様々なPC操作を自動化できます。
メールやExcelはもちろん、Chromeなどブラウザー操作の自動化も思いのままです。
ただ、実際の業務では単純なファイル操作も結構多いと思うんですよね。
ファイルの移動やコピー、削除といった基本的な操作が日常的に行われています。
そんな単純操作が、少しでも自動化できたら便利ではないでしょうか。
当記事では、Power Automate Desktopでできるファイル操作とその設定についてカテゴリ別にまとめました。
ぜひ一度読んでみてください。
目次
著:やまもとてつや
Tipstour初の電子書籍化! 37歳で初の正社員となりITヘルプデスクとして勤務中の著者が、Power Automate Desktopを使った8つのメール作業・自動化事例とその方法を本書でご紹介しています。 これを読めば、ヘルプデスクの担当者はもちろん、WindowsPCで作業するすべてのワーカーの面倒なメール作業を自動化可能です。 Kindle Unlimitedで読み放題対象! |
【一覧】Power Automate Desktopで自動化できるファイルのアクション
Power Automate Desktopで自動化できるファイルアクションは以下になります。
基本的なファイルアクションは下記4つです。
- ファイルの移動
- ファイルのコピー
- ファイルの削除
- ファイルの名前を変更する
ファイルの読み取りについては、下記4つのアクションが用意されています。
- ファイルからテキストを読み取る
- テキストをファイルに書き込む
- CSVファイルから読み取る
- CSVファイルに書き込む
応用操作は下記4つです。
条件分岐やファイルパスの取得など次のアクションへと繋がる要素が用意されています。
- ファイルが存在する場合
- ファイルを待機します
- ファイルパス部分を取得
- 一時ファイルの取得
さらにバイナリデータやBase64の変換などの特殊アクションもあります。
- ファイルをBase64に変換する
- Base64をファイルに変換する
- ファイルをバイナリデータに変換
- バイナリデータをファイルに変換
フォルダー操作以上にできるアクションが多いので、使いこなせればファイル操作の自動化に困りません。
ファイル操作の基本
では、基本アクションから解説します。
移動やコピーといった基本的な操作ばかりなので、まずはここから覚えましょう。
①ファイルの移動
特定のファイルを別の場所に移動します。
設定項目は下記3つです。
- 移動するファイル:移動したいファイルのファイル名や変数を入力します。
- 宛先フォルダー:移動先のフォルダーバスを選択します。
- ファイルが存在する場合:何もしないか上書きを選択できます。
基本的には、1アクションにつき1つのファイルしか移動できません。
複数のファイルを移動させたい場合は、フォルダーアクションのフォルダー内のファイルを取得を使って複数のファイルを変数にする必要があります。
保存後は、変数MovedFilesが生成されます。
②ファイルのコピー
ファイルをコピーします。
ファイルのコピーも移動同様に、複数のファイルをコピーするには事前に変数にする必要があります。
設定項目は下記3つです。
- コピーするファイル:コピーしたいファイルのファイルパスを入力します。
- 宛先フォルダー:コピー先のフォルダーパスを入力します。
- ファイルが存在する場合:何もしないか上書きを選択できます。
保存後は、変数CopiedFilesが生成されます。
③ファイルの削除
ファイルを削除します。
設定項目は削除するファイルのみで、ファイルパスを入力すればOKです。
削除したファイルはゴミ箱に行かず、完全に削除されるので復旧できない点に注意してください。
④ファイルの名前を変更する
ファイルの名前を変更します。
設定項目は下記5つです。
- 名前を変更するファイル:ファイルパスを入力するかエクスプローラーで該当ファイルを指定します。
- 名前の変更の方法:後述する7つの方法が選べます。
- 新しいファイル名:名前の変更の方法にあわせて入力します。
- 拡張子を保存する:ONにすると、該当ファイルの拡張子を保存します。OFFにすると拡張子が消えます。
- ファイルが存在する場合:何もしないか上書きを選択できます。
名前の変更方法には、下記の7種類が用意されています。
- 新しい名前を設定する
- テキストを追加する
- テキストを削除する
- テキストを置換する
- 拡張子を変更する
- 日時を追加する
- 連番にする
新しい名前を設定する以外の方法について解説します。
テキストを追加する
ファイル名に特定のテキストを追加します。
必須項目は以下2項目です。
- 追加するテキスト:新しいファイル名に追加したいテキストを入力します。
- テキストを追加する:操作後の名前か操作前の名前かを選択できます。
操作後の名前に設定するとファイル名の最後で、操作前の名前に設定するとファイル名の最初にテキストが追加されます。
テキストを削除する
元のファイル名に入っているテキストを削除します。
削除するテキスト欄に削除したいテキストを入力すればOKです。
テキストを置換する
ファイル名に入っているテキストを別のテキストに置き換えます。
設定項目は以下2点です。
- 置換するテキスト:置換前のテキストを入力します。
- 置き換え先のテキスト:置換後のテキストを入力します。
拡張子を変更する
ファイルの拡張子を変更します。
新しい拡張子に変更したい拡張子を入力すればOKです。
ただし、変更した拡張子でファイルを開けるかどうかは確認してください。
日時を追加する
ファイル名の日時を追加します。
設定項目は下記6つです。
- カスタム日時を使用します:ONにすると直下にカスタムの日時欄が表示され、任意の日付を入力できます。
- 追加する日時:現在の日時やファイル作成時間など入力したい日時を選択できます。
- 日時を追加する:ファイル名の前か後に、日付を入力するかを選択できます。
- 区切り記号:入力した日付の前後にスペースやピリオドなどの区切り記号を入力できます。
- 日時の形式:日時をどのように入力させるかをカスタマイズできます。
- ファイルが存在する場合:何もしないか上書きを選択できます。
カスタム日時を使用しますをONにすると直下に以下画像が表示されます。
特定の日付を入れたい場合に便利で、yyyymmdd形式で入力すればファイル名に反映されます。
なお、2023年5月20日と入力しても反映されるファイル名は「ファイル名 20230520」と勝手に修正されます(区切り記号はスペース。日時を追加するを操作後の名前に設定した場合)。
追加する日時で入力できる日時は下記4つです。
- 現在の日時
- 作成時間
- 最終アクセス日時
- 最終変更日時
区切り記号として選べるのは、下記4つです。
- スペース( )
- ピリオド(.)
- ダッシュ(-)
- アンダースコア(_)
日時の形式の入力方法について、下記の表をご覧ください。
月だけ大文字になる点に注意してください。
表記 | 内容 |
---|---|
yy | 年(23年でyyだと23。yyyyだと2023と表記) |
MM | 月 |
dd | 日 |
連番にする
ファイル名に連番(001など)をふります。
設定項目は下記6つです。
- 開始番号:連番の開始値を設定できます。
- 増分:開始値からどれくらい増やすかを設定できます。
- 区切り記号:日時を追加すると同じです。
- パディングを使用します:ONにすると各番号の最小長にしたがって0が入力されます。OFFにすると0は入力されません。
- 各番号の最小長:パディングを使用しますをONにしたときに入力する桁数が設定できます。パディングを使用しますをOFFにしていると反映されません。
- ファイルが存在する場合:何もしないか上書きを選択可能です。
たとえば、開始番号は1で増分を1にすると、変更したいファイル名の数に応じて1,2と連番が振られます。
パディングを使用しますをONにして各番号の最小長を3にすると001,002と連番が振られます。
一般的には複数ファイルの一括変更をする際に、フォルダーアクションのフォルダー内のファイルを取得するアクションとセットで使います。
フォルダーアクションの詳細については、以下の記事でも解説しています。
保存後は変数RenamedFilesが生成されます。
ファイルの読み取り・書き込み
ファイルの読み取りや書き込みアクションについて解説します。
①ファイルからテキストを読み取る
ファイルからテキストを読み取ります。
設定項目は下記3つです。
- ファイルパス:ファイルパスを入力します。アイコンをクリックすればエクスプローラーで検索も可能です。
- 内容の保存方法:単一のテキストかリスト形式で選べます。
- エンコード:エンコードを選択できます。
エンコードは下記5つから選択できます。
- システムの既定値
- UTF-8
- Unicode
- Unicode(ビック エンディアン)
- ASCII
保存後は変数FileContentsが生成されます。
②テキストをファイルに書き込む
テキストをファイルに書き込みます。
設定項目は下記5つです。
- ファイルパス:ファイルパスを入力します。
- 書き込むテキスト:書き込みたいテキストを入力します。
- 新しい行を追加する:ONにすると書き込むテキストに新しい行が追加されます。
- ファイルが存在する場合:既存の内容を上書きするか内容を追加するを選択できます。
- エンコード:エンコードを選択します。
以下のメモ帳ファイルを使って、新しい行を追加するを設定の違いを比べてみました。
ファイルが存在する場合欄は内容を追加するに変更してください。
書き込むテキストには「テスト」と入れてみます。
まずはONにした場合です。
下記がOFFの状態です。
エンコードは①の他にUTF-8とUnicodeのバイトオーダーマークなしの2つが追加されます。
③CSVファイルから読み取る
CSVファイルからテキストを読み取ります。
CSVファイルとは?
基本の設定項目はファイルパスとエンコードで、選べるエンコードは②と同じです。
詳細をクリックすると以下のようになります。
詳細での設定項目は下記4つです。
- フィールドのトリミング:CSVファイルに入っている空白スペースを取り除くか否かをON・OFFで選択できます。
- 最初の行に列名が含まれています:ONにすると最初の行の内容が列名としてリスト化されます。
- 列区切り記号:列の区切り記号を選択できます。
- 区切り記号:区切り記号を選択できます。
列区切り記号は下記3つから選択できます。
- 定義済み
- カスタム
- 列の幅を固定する
選択できる区切り記号は下記4つです。
- システムの既定値
- コンマ
- セミコロン
- タブ
保存後は、変数CSVTableが生成されます。
④CSVファイルに書き込む
CSVファイルに新しい内容を書き込めます。
基本の設定項目は下記3つです。
- 書き込む変数:元のCSVファイルに追加したいファイル変数を指定します。
- ファイルパス:元のCSVファイルを指定します。
- エンコード:②と同じです。
詳細をクリックすると下記のようになります。
設定項目は4つです。
- 列名を含めます:ONにすると列名を含めて書き込みます。
- ファイルが存在する場合:既存の内容を上書きするか内容を追加するを選べます。
- 区切り記号:③と同じです。
- カスタム列区切り記号を使用します:ONにすると区切り記号がカスタム列区切り記号に変わるので、任意の値を入力します。
ファイル操作の応用
条件分岐やファイルパスの取得など、ファイル操作の応用について解説します。
①ファイルが存在する場合
該当のファイルが存在するか否かでアクションを分岐できます。
設定項目は以下の2つです。
- ファイルが次の場合:存在するか存在しないかで条件を分岐できます。
- ファイルパス:ファイルパスを入力します。
分岐させた後のアクションは適宜組み立ててください。
②ファイルを待機します
ファイルが作成されるか削除されるまで、以降のアクションを待機させられます。
設定項目は以下の2つです。
- ファイルの次の状態を待機します:作成済みか削除済みを選択できます。
- ファイルパス:ファイルパスを入力します。
上記2つを入力すればフローは実行できますが、ファイルの次の状態を待機しますの条件が満たされないとフローは止まったままになります。
上記の場合、タイムアウトエラーで失敗しましたをONにすれば中段可能です。
ONにすると下に期間欄が表示されます。
デフォルトは5と入力されていて5秒を意味します。
つまり、1分待機したい場合は60を入力してください。
③ファイルパス部分を取得
ファイルパスを入力すると、入力したファイルのルートパスやディレクトリ情報を取得できます。
入力項目もファイルパスを入力するだけでOKです。
保存後、フローを実行すると下記5つの変数が生成されます。
- RootPath:ルートパス。C:など
- Directory:フォルダーパスや親フォルダーのパスなど、様々なプロパティが表示される
- FileName:拡張子ありのファイル名
- FileNameNoExtension:拡張子なしのファイル名
- FileExtension:拡張子
Directoryのプロパティを見ると、下記のようになっています。
- .FullName:フォルダーのフルパス
- .Name:そのファイルが保存されている直下のフォルダー
- .Parent:ファイルが保存されているフォルダーの親
- .RootPath:ルートパス。C:\など
- .CreationTime:作成日
- .LastModified:最終更新日
- .IsHidden:隠しフォルダーになっているか否か
- .IsEmpty:フォルダー内が空になっているか否か
- .Exists:フォルダーが存在するか否か
- .FilesCount:フォルダー内にあるファイル数
- .FoldersCount:フォルダー内にあるフォルダ数
プロパティが豊富なので、色々と応用のきくアクションです。
④一時ファイルの取得
一時ファイルを取得できます。
何らかの理由でテキストを変数に保存したいときに使用します。
保存後は変数TempFileが生成されます。
特殊なファイル操作
最後に特殊なファイル操作として、Base64とバイナリデータの操作について解説します。
①ファイルをBase64に変換する
ファイルをBase64に変換します。
Base64とは
設定項目はファイルパスを入力するだけです。
保存後は変数Base64Textが生成されます。
②Base64をファイルに変換する
①とは逆でBase64をファイルに変換します。
設定項目は下記3つです。
- Base64でエンコードされたテキスト:対象のデータを入れます。
- ファイルパス:保存先のファイルパスを入力します。
- ファイルが存在する場合:何もしないか上書きを選択できます。
③ファイルをバイナリデータに変換
ファイルをバイナリデータに変換します。
バイナリデータとは
設定はファイルパスを入力するだけです。
保存後は変数BinaryDataが生成されます。
④バイナリデータをファイルに変換
③と逆でバイナリデータをファイルに変換します。
設定項目は②と変わりません。
まとめ
以上、Power Automate Desktopのファイル操作についてまとめました。
かなりボリュームは多いのですが、応用操作や特殊ファイルの操作は後回しにして、基本操作から慣れていきましょう。
基本的なアクションを覚えたら、徐々に応用操作に取り組んでください。