Power Queryでフォルダー内のファイル一覧を取得する
パソコン内のファイルが多くなり、ファイル整理したいと思ったことはありませんか?フォルダーを開いて、ひとつひとつファイルを確認すると膨大な時間がかかります。
そんなときに、ファイルの一覧を取得し、更新日時やアクセス日時などが分かれば要る要らないの判断が出来るのではないでしょうか?
また、共有フォルダーの整理をするときは、ファイルの一覧さえ作ってしまえば自分以外の人にも整理をお願いできます。
Power Queryを使えば、ファイルの一覧がExcelで簡単に作成できます。ファイルの一覧を作成する方法について解説してきます。
VBAで実現は出来ますが、プログラムを作成する必要があり、専門知識を持つ人が必要です。また、環境の変化(OSやOfficeのバージョンアップなど)の都度、プログラムが動かなくなる可能性もあり、定期的にメンテナンスする必要があります。
スポンサーリンク 目次- 事前準備
- ファイル一覧を取得するフォルダーを決める
- フォルダーのアクセス権限を確認する
- フォルダー内のファイル一覧を取得する
- データ加工せずそのままフォルダーの一覧を読み込む
- フォルダーを階層ごとに区切る
- ファイルの追加・削除・更新があった場合に再取得するには?
事前準備
ファイル一覧を取得するフォルダーを決める指定したフォルダー直下のファイル及び、サブフォルダーも含めたファイルが全て取得できます。
全て取得できるのは便利ですが、ファイル数が多いと取得に時間がかかります。
Cドライブの直下といった広い範囲を指定するのではなく、対象を絞りましょう。
フォルダーのアクセス権限を確認するPower Queryがフォルダーにアクセスするためには、アクセス権限が必要です。
自分のパソコン内であれば気にする必要はありませんが、共有フォルダーを使用する場合、特定にメンバーしかアクセスできない場合があります。
アクセス権が設定されていることを確認しましょう。
スポンサーリンクフォルダー内のファイル一覧を取得する
データ加工せずそのままフォルダーの一覧を読み込む「データ」タブを開き、「データの取得」ー「ファイルから」ー「フォルダーから」をクリックします。
ファイルの一覧を取得したいフォルダーを開き、「開く」をクリックします。
指定したフォルダー直下のファイル及び、サブフォルダーも含めたファイルが全て取得できます。
「読み込み」をクリックします。
指定したフォルダー直下のファイル及び、サブフォルダーも含めたファイルが全て取得できました。
それぞれの列に意味は以下の通りです。
列名説明Nameファイル名です。Extensionファイルの拡張子です。Date accessedファイルの最終アクセス日時です。Date modifiedファイルの最終更新日時です。Date createdファイルの作成日です。Folder Pathファイルが格納されているフォルダーのパスです。「Date accessed」を見れば最終アクセス日時が分かるので、最近全然開いていないファイルは要らないよね?という判断など出来ると思います。
フォルダーを階層ごとに区切るこのままでも十分に活用できる資料になるのですが、「Folder Path」列に全階層のフルパスになっているため、階層ごとに列が分かれていたほうが分析がしやすいことがあります。
階層ごとに列を分割するやり方は次の手順になります。
Power Queryで取得したファイル一覧のセルをクリックし、「クエリ」タブの「編集」ボタンをクリックします。
Power Queryエディターが開きます。「Folder Path」列を右クリックし、「列の分割」ー「区切り記号による分割」をクリックします。
区切り記号は「カスタム」を選択し、バックスラッシュを入力します。分割は「区切り記号の出現ごと」を選択します。詳細設定オプションの▼ボタンをクリックして中身を展開し、分割後の列数が少なければ数を増やしましょう。
設定が終わればOKをクリックします。
「Folder Path」列がフォルダの階層ごと(バックスラッシュごと)に分割されました。「閉じて読み込む」をクリックします。
フォルダーを階層ごとに区切る事が出来ました。
ファイルの追加・削除・更新があった場合に再取得するには?Power Queryで取得したファイル一覧のセルをクリックし、「クエリ」タブの「更新」ボタンをクリックします。
「更新」ボタンのクリックするだけで、最新状態のファイル一覧が取得出来ます。