【VBA:Tips】ファイル一覧の取得

ファイル一覧の取得

VBAでファイル一覧を取得する方法として、FileSystemObjectGetFolderを使用することで実現できます。

 

FileSystemObjectは、ファイルシステムオブジェクトを操作するための標準ライブラリであり、ファイルやフォルダの作成や削除、コピー、移動などを簡単に行うことができます。

 

GetFolderメソッドを使用することで、指定したフォルダのファイル一覧を取得することができます。

 

ここでは、FileSystemObjectGetFolderを使ってVBAでファイル一覧を取得する方法について説明します。

 

【サンプルソース】指定したフォルダに存在するファイル名一覧の取得

以下は、FileSystemObjectのGetFolderを使用してファイル名一覧を取得するサンプルソースです。

上記のサンプルソースでは、まずFileSystemObjectを生成しています。

GetFolderメソッドを使用して対象フォルダ「D:\200_work\100_sample\AAA」のフォルダオブジェクトを取得しています。

次に、対象フォルダに存在するファイル一覧を取得しています。

フォルダオブジェクトからファイルオブジェクトを1つずつ取り出し、ファイル名(file.Name)を取得しています。

そして、最後に取得したファイル名一覧をメッセージボックスで表示しています。

 

注意点としては、GetFolderメソッドに存在しないフォルダパスを指定するとエラーが発生します。

GetFolderで取得できるファイル一覧は、指定したフォルダ直下に存在するファイルのみです。

指定されたフォルダのサブフォルダ内のファイルは取得することはできません。

 

【サンプルソース】指定したフォルダに存在するファイルのパス一覧の取得

以下は、FileSystemObjectのGetFolderを使用してファイルパス一覧を取得するサンプルソースです。

上記のサンプルソースでは、まずFileSystemObjectを生成しています。

GetFolderメソッドを使用して対象フォルダ「D:\200_work\100_sample\AAA」のフォルダオブジェクトを取得しています。

次に、対象フォルダに存在するファイル一覧を取得しています。

フォルダオブジェクトからファイルオブジェクトを1つずつ取り出し、ファイルパス(file.Path)を取得しています。

そして、最後に取得したファイルパス一覧をメッセージボックスで表示しています。

 

ファイル名を取得する場合は、「file.Name」を使います。
例えば、「A001.txt」というファイル名を取得できます。

 

ファイルパスを取得する場合は、「file.Path」を使います。
例えば、「D:\200_work\100_sample\AAA\A001.txt」というファイルパスを取得できます。

 

まとめ

VBAでFileSystemObjectのGetFolderを使用すれば、指定したフォルダ内に存在するファイル名やファイルパスを取得することができます。

欲しい情報によって、「file.Name」と「file.Path」を使い分けましょう。

 

以上です。

 

 

最後まで読んでいただきありがとうございました。
この記事をシェアしていただけると喜びます。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です