今回はファイルのパスを取得し、Excelに転記する方法をご紹介します。
使用するアクションは
- フォルダー内のファイルを取得
- Excelの起動
- For each
- Excelワークシートから最初の空の列や行を取得
- Excelワークシートに書き込む
- End
フローの完成形
D:\PADフロー\2023年度納品書\2023年1月納品書\****.xlsxのファイルパスを取得します。
ファイル名をExcelに転記
Excelブックのファイル名だけを取得したい場合は、D:\PADフロー\2023年度納品書\2023年1月納品書をExcelの置換機能で消去できます。
Excelの置換機能の使用方法を別の記事に掲載しています。
該当記事(不要な文字、数字の一括消去の方法)はこちら
1.フォルダー内のファイルを取得
取得したいフォルダー名の親フォルダーを指定して、ファイルのパスを取得します。
1.アクションの「フォルダー」から「フォルダー内のファイルを取得」をワークスペースにドラッグ&ドロップします。
フォルダー:ファイル名を取得したい親フォルダーを選択します。
例としてD:\PADフロー\2023年度納品書¥2023年1月納品書の下のファイル名を取得します。
ファイルフィルター:*
今回はファイル名を制限しないのでそのまま*を使用します。
ファイル名を指定したい場合は文字や数値を入力します。
サブフォルダーを含める
さらにサブフォルダーが存在する場合に、その下のファイル名も取得する場合にチェックを入れます。
詳細を展開すると並び替えもできます。
2.Excelの起動
空のExcelブックにファイル名を転記するため、アクション「Excelの起動」で空のドキュメントを使用します。
1.アクションの「Excel」から「Excelの起動」をワークスペースにドラッグ&ドロップします。
Excelの起動:空のドキュメントを使用
生成された変数:%ExcelInstance%
3.For each
For eachを使用して、ファイル名の数だけ繰り返し処理を行います。
1.アクションの「ループ」から「For each」をワークスペースにドラッグ&ドロップします。
反復処理を行う値:%Files%
「フォルダー内のサブフォルダーを取得」で生成された変数%Files%を入力します。
生成された変数:%CurrentItem%
4.Excelワークシートから最初の空の列や行を取得
Excelワークシートから最初の空の列や行を取得とは、データが入っている列と行の、最初の空の列と行を自動的に取得できるアクションです。行や列にデータを追加入力や削除されても、自動的にセル範囲を拡大縮小してくれます。
1.アクションの「Excel」から「Excelワークシートから最初の空の列や行を取得」をドラッグ&ドロップします。
生成された変数:FirseFreeRow(行)を次のアクションで使用します。
5.Excelワークシートに書き込み
Power Automate Desktopに読み取ったファイル名をExcelブックに転記します。
1.アクションの「Excel」から「Excelワークシートに書き込み」をドラッグ&ドロップします。
Excelインスタンス:先ほどExcelの起動で、生成された変数ExcelInstanceを使用します。
書き込む値: %Currentltem%
For eachのCurrentltemにファイル名が格納されているので、Currentltemからファイル名を取り出し、指定したセルに書き込みます。
書き込みモード:セルを指定したいので「指定したセル上」を選択します。
今回は列Aに書き込みたいので「列」に「A」、「行」に「%FirstFreeRow%」を入力します。
行に入力されたデータが上書きされないように、空白のセルに書き込みを行います。
「Excelワークシートから最初の空の列や行を取得」した変数FirstFreeRowを入力し、空白行を取得します。
以上でファイルのパスを取得し、Excelに転記する方法をご紹介しました。
関連記事
Power Automate Desktopを使用して、フォルダーのパスを取得し、Excelに転記する方法をご紹介します。