アクセスログを眺めていて、
「excel vba filesystemobject files内のファイル名」
という検索キーワードに気づきました。
Filesコレクションオブジェクトに含まれる、各ファイルの名前を取得するコードを探していらしたのでしょうか。
単純にマクロが欲しいだけならば、ご紹介済みのFileSystemObjectを使ってファイル名一覧を作成するExcelマクロを、ご参照ください。
FileSystemObjectについて理解を深めたいなら、ローカルウィンドウや、オブジェクトブラウザーを使って、オブジェクトについて確認しておくことをおすすめします。
FilesコレクションとFileオブジェクトを理解するためのサンプルマクロ
参照設定済みの環境で、以下のSubプロシージャをショートカットキー[F5]で実行すると、「c:\tmep」フォルダー内のファイル名が、イミディエイトウィンドウに出力されます。
Const PATH_ = "c:\temp"
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject
Dim fs As Scripting.Files
Set fs = fso.GetFolder(PATH_).Files
For Each f In fs
Debug.Print f.Name
Next f
End Sub
ローカルウィンドウでオブジェクト変数の中身を確認しつつオブジェクトのイメージを深めましょう
FileSystemObjectについて理解を深めたいなら、上記のプロシージャをショートカットキー[F8]でステップ実行しながら、ローカルウィンドウでオブジェクト変数の中身を確認しましょう。
以下のように、「c:\temp」フォルダーにExcelブックが2つ存在する状態で、
ステップ実行してみます。
オブジェクト変数fsへの代入が行われるまでは、下図のようにNothingの状態で、
代入ステートメント
Set fs = fso.GetFolder(PATH_).Files
が実行されると、オブジェクト変数fsにFilesコレクションオブジェクトがセットされた様子を確認できます。
更にFor Each~Nextループに入ると、Filesコレクションオブジェクトに含まれる単独オブジェクトFileの中身を見られるようになります。
FilesコレクションオブジェクトとFileオブジェクトが、どのような情報を抱えているのかを確認して、どのようなオブジェクトなのかイメージを深めましょう。
また、オブジェクトブラウザーで、Filesコレクションオブジェクトと、Fileオブジェクトがどのようなプロパティ・メソッドを持っているかも確認しましょう。
- Newer:VBAでセルの左側に罫線を引く
- Older:Validationオブジェクトの中身を見る
Home » FSO・FileSystemObjectの使い方 » Filesコレクションに含まれる単独オブジェクトFileをローカルウィンドウで確認する