再帰的にファイルを検索
ページ番号: 1 2
【環境】Windows 10 Pro 64bit、Excel for Office 365
広告
さてさて、ファイル一覧を自動で作成するには、もちろんカレントフォルダ配下のファイルを検索する! これですよねー
さー!作っていきましょー
※以下の記事でも記載しましたが、本来は実行時バインディングに簡単に変換できるようなコーディングをお勧めしています
しかし、各記事の中では必要なコードだけを書いていますので、実際にご自身でコーディングされるときは、ご注意ください!
■FileSystemObject
再三にわたり出てきているFileSystemObjectを使ってファイルを検索していきます! まずは指定したフォルダの直下のファイル名だけを表示するコードを書いてみます
Sub GetFileInfo(path As String) Dim fl As file With New FileSystemObject ' pathのファイルを取得 For Each fl In .GetFolder(path).files ' ファイル名を表示 Debug.Print fl.name Next End With End Sub
・説明
やることは単純で、以下の4つです
- 引数で指定のフォルダパスを受け取り
- FileSystemObjectを作成
- GetFolderメソッドのFilesプロパティからFileオブジェクト単位で取得
- Fileオブジェクトからファイル名を取得
・GetFolderメソッド
構文は以下の通りで、指定フォルダのFolderオブジェクトを取得します
指定フォルダが存在しないとエラーになりますが、指定フォルダのパス文字列の最後は「¥」じゃなくても良いです
object.GetFolder(folderspec)
- object:FileSystemObjectのオブジェクト
- folderspec:指定フォルダのパス(絶対か相対)
広告
・Filesプロパティ
構文は以下の通りで、指定フォルダの全てのFileオブジェクトで構成されるFilesコレクションを取得します
object.Files
- object:Folderのオブジェクト
・Folderオブジェクト
Folderオブジェクトには以下が含まれます(主なもの)
- Copyメソッド
- Deleteメソッド
- Filesプロパティ
- SubFoldersプロパティ
- Moveメソッド
- Nameプロパティ
- Pathプロパティ
・Fileオブジェクト
Fileオブジェクトには以下が含まれます(主なもの)
- Copyメソッド
- DateCreatedプロパティ
- DateLastAccessedプロパティ
- DateLastModifiedプロパティ
- Deleteメソッド
- Moveメソッド
- Nameプロパティ
- Pathプロパティ
- Sizeプロパティ
- Typeプロパティ
ページ番号: 1 2
広告