アプリ版:「スタンプのみでお礼する」機能のリリースについて

ExcelのVBAを使って、バックアップしたメディアのデータベースを作ろうと思っています。
そこで、CDドライブに入っているファイル名や、ファイルのサイズを出力したいのですが、どの関数を使えばよいのでしょうか?

A 回答 (2件)

FileSystemObjectを使うといいと思います。


googleで、excel FileSystemObject で最初調べると沢山出てきます。
http://officetanaka.net/excel/vba/filesystemobje …
とか。

とりあえず、指定フォルダ以下の全ファイルの情報をsheet1に表示します。

Sub test()
Application.ScreenUpdating = False '沢山の時は早くなるかも
Sheet1.Cells.Clear
Sheet1.Cells(1, 1) = "パス"
Sheet1.Cells(1, 2) = "ファイル名"
Sheet1.Cells(1, 3) = "サイズ"
Sheet1.Cells(1, 4) = "タイプ"

files "D:\", 2 '調べるフォルダと、表示開始行

Application.ScreenUpdating = True
MsgBox "end"
End Sub

'指定フォルダ内のファイルを表示
Sub files(path As String, ByRef row As Long)
DoEvents
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim f As Object
'このフォルダ内のファイル情報
For Each f In fso.GetFolder(path).files
Sheet1.Cells(row, 1) = path
Sheet1.Cells(row, 2) = f.Name
Sheet1.Cells(row, 3) = f.Size
Sheet1.Cells(row, 4) = f.Type
row = row + 1
Next
'このフォルダ内のサブフォルダ
For Each f In fso.GetFolder(path).SubFolders
files f.path, row 'サブフォルダ内のファイルを表示(再帰呼び出し)
Next
Set fso = Nothing
End Sub
    • good
    • 0
この回答へのお礼

丁寧なご解答ありがとうございます。
とてもよく分かる内容でした。

お礼日時:2007/11/25 15:13

FileSystemObjectを使うと簡単です。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!