【VBA】1クリックで解決!ファイル更新日時とサイズを一覧取得する時短術

【業務効率化】VBA
スポンサーリンク

日常的に繰り返される「プロパティの確認作業」、いつまで続けますか?

「どのファイルが最新版かわからない……。1つずつ右クリックして『プロパティ』を開いて、更新日時を確認して。あ、こっちの方がサイズが大きいから内容が更新されているのかな?……  って、もう午前中が終わっちゃうよ!」

実務の現場では、このような光景がよく見られます。

でも、安心してください。そんな「手間がかかり、神経を使うわりに生産性の低い作業」こそ、VBAの得意分野です。

今回は、指定したフォルダ内にあるすべてのファイルの「更新日時」と「ファイルサイズ」を、一瞬でExcelシートに書き出す便利なコードをご紹介します。

【業務効率化】VBAの記事を見る 

コピペで今すぐ使える自動取得ツール

ここでは、初心者の方でも扱いやすい「FileSystemObject(ファイルシステムオブジェクト)」という仕組みを使用します。これは、Windowsのファイルを効率よく操作するための「専門家」のようなものです。

Sub GetFileInfo()
    ' 変数の準備
    Dim fso As Object
    Dim folderPath As String
    Dim targetFolder As Object
    Dim fileItem As Object
    Dim i As Long

    ' 1. 調査したいフォルダのパスを指定(ここは自分の環境に合わせて書き換えてください)
    folderPath = "C:\Your\Folder\Path"

    ' 2. ファイル操作の専門家(FSO)を呼び出す
    Set fso = CreateObject("Scripting.FileSystemObject")
   
    ' フォルダが存在するかチェック
    If Not fso.FolderExists(folderPath) Then
        MsgBox "指定したフォルダが見つかりません!パスを確認してください。", vbExclamation
        Exit Sub
    End If

    Set targetFolder = fso.GetFolder(folderPath)

    ' 3. シートの見出しを作る
    Cells(1, 1).Value = "ファイル名"
    Cells(1, 2).Value = "更新日時"
    Cells(1, 3).Value = "サイズ(KB)"
   
    i = 2 ' 書き出し開始行
   
    ' 4. フォルダ内のファイルを1つずつループ(繰り返し)処理
    For Each fileItem In targetFolder.Files
        Cells(i, 1).Value = fileItem.Name             ' ファイル名
        Cells(i, 2).Value = fileItem.DateLastModified ' 最終更新日時
        ' サイズはByteで取得されるので、1024で割ってKB(キロバイト)表示にする
        Cells(i, 3).Value = Round(fileItem.Size / 1024, 1)
       
        i = i + 1
    Next fileItem

    ' 5. 後片付けと完了報告
    Set fso = Nothing
    MsgBox "データの取得が完了しました!", vbInformation
End Sub

初心者がつまづきやすいポイント

コードの中でfileItem.Size / 1024という計算をしています。「なぜ1,024で割るの?」と疑問に思われるかもしれません。

コンピュータの世界では、1,024バイトが集まって1キロバイト(KB)になります。
そのまま表示すると「1,050,000バイト」のように桁数が多くて見づらいため、私たちが直感的に理解しやすい「KB」という単位に変換しています。

【業務効率化】VBAの記事を見る 


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でしたが、年間100万円以上節約していました。
株式投資で年間360万円以上投資し、iDeCoも併用しています。
総資産はアッパーマス層に到達しました。
資格は日商簿記3級を持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、生産性を高めるITスキルについて発信しています。

生活を豊かにするため、高配当株投資で年間配当金60万円をめざしています。
現在の年間配当金は30万円ほどです。

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました