今回はフォルダーのパスを取得し、Excelに転記する方法をご紹介します。
使用するアクションは
- フォルダー内のサブフォルダーを取得
- Excelの起動
- For each
- Excelワークシートから最初の空の列や行を取得
- Excelワークシートに書き込む
- End
フローの完成形
D:\PADフロー\2023年度納品書のサブフォルダー名を取得します。
フォルダー名をExcelに転記
1.フォルダー内のサブフォルダーを取得
取得したいフォルダー名の親フォルダーを指定して、サブフォルダーのパスを取得します。
1.アクションの「フォルダー」から「フォルダー内のサブフォルダーを取得」をワークスペースにドラッグ&ドロップします。
フォルダー:フォルダー名を取得したい親フォルダーを選択します。
例としてD:\PADフロー\2023年度納品書の下のサブフォルダー名を取得します。
フォルダーフィルター:*
今回はフォルダー名を制限しないのでそのまま*を使用します。
「2023年10月*」で*が納品書の代わりになります。
フォルダー名を指定したい場合は文字や数値を入力します。
サブフォルダーを含める
さらにサブフォルダーが存在する場合に、そのフォルダー名も取得する場合にチェックを入れます。
D:\PADフロー\2023年度納品書\2023年1月納品書\ここのフォルダーも含めるかどうか
詳細を展開すると並び替えもできます。
2.Excelの起動
空のExcelブックにフォルダー名を転記するため、アクション「Excelの起動」で空のドキュメントを使用します。
1.アクションの「Excel」から「Excelの起動」をワークスペースにドラッグ&ドロップします。
Excelの起動:空のドキュメントを使用
生成された変数:%ExcelInstance%
3.For each
For eachを使用して、フォルダー名の数だけ繰り返し処理を行います。
1.アクションの「ループ」から「For each」をワークスペースにドラッグ&ドロップします。
反復処理を行う値:%Folders%
「フォルダー内のサブフォルダーを取得」で生成された変数%Folders%を入力します。
生成された変数:%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ブックにフォルダー名を入力し、その名前の数だけフォルダーを自動で作成します。