パスワードを忘れた? アカウント作成
203614 journal

patagonの日記: [コンピュータ]指定フォルダ内のファイル名一覧をExcelに書き出す VBA

日記 by patagon

指定フォルダ内のファイル名一覧をExcelに書き出す

フォルダをダイアログで選択・指定したい場合は Shellオブジェクト(Shell.Application) 等を使えばいい。
    Office TANAKA - Excel VBA Tips[フォルダを選択するダイアログ]

'指定フォルダ内のファイル名一覧をExcelに書き出す
'参考
'第6回 指定フォルダ内のファイル名一覧をExcelに書き出す:ITpro
' <http://itpro.nikkeibp.co.jp/article/COLUMN/20060120/227645/>
' .sheet(1) → .ActiveSheetに変更
 
Sub MakeFileList2()
 
Application.EnableEvents = False 'イベントの禁止
Application.ScreenUpdating = False
 
    '対象フォルダの指定
    Target = "\\server-001\folder1\subfolder2"
 
    Set FS = CreateObject("Scripting.FileSystemObject")
    Set Fol = FS.GetFolder(Target)
    Set Fil = Fol.Files
 
    With ThisWorkbook.ActiveSheet
    'ThisWorkbook.Sheets("Sheet1").UsedRange.Delete
 
    'シートのクリア
    Cells.ClearContents
    'Clear 全てクリア
    'ClearContents 数式、文字列をクリア
    'ClearFormats 書式をクリア
    'ClearComments コメント文をクリア
    'ClearOutline アウトラインをクリア
 
    '見出しを付ける
    .Range("B2") = "ファイル名"
    .Range("C2") = "ファイル種別"
    .Range("D2") = "最終更新日"
    .Range("E2") = "説明"
    .Range("B2:E2").Interior.Color = RGB(0, 0, 0)
    .Range("B2:E2").Font.Color = RGB(255, 255, 255)
    .Range("B2:Es2").HorizontalAlignment = xlCenter
 
    i = 3
    For Each Fx In Fil
        'ファイル名
        sFile = Fx.Name
        'ファイル名の書き出し
        .Cells(i, 2) = sFile
        'ファイル種別
        sFType = Fx.Type
        '最終更新日時の書き出し
        .Cells(i, 3) = sFType
        '最終更新日
        sLMod = Fx.DateLastModified
 
        .Cells(i, 4) = sLMod
        i = i + 1
    Next
    End With
 
Application.EnableEvents = True
Application.ScreenUpdating = True '画面再描画再開
 
End Sub

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...