← コード一覧へ戻る
実務ファイル

ファイルのサイズを取得する

指定ファイルのサイズをバイト単位で表示します。

実行前に確認

  • Windows専用の例です。C:\Dataは例なので、自分で用意した練習用フォルダーの絶対パスに変更してください。
  • 「ディスク上のサイズ」とは異なります。開いているファイルの未保存の編集内容は含みません。

1サンプルコード

Sub Example4005()
    On Error GoTo Failed
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim filePath As String
    filePath = "C:\Data\sample.txt"
    If Not fso.FileExists(filePath) Then
        MsgBox "ファイルがありません: " & filePath
        Exit Sub
    End If
    MsgBox Format$(fso.GetFile(filePath).Size, "#,##0") & " バイト"
    Exit Sub
Failed:
    MsgBox "処理を中止しました: " & Err.Description
End Sub

図で見る操作の流れ

イメージ図

コードに沿った概念図です。実際の画面や実行結果ではありません。

  1. 対象

    保存済みのC:\Data\sample.txt

  2. マクロ:取得

    存在を確認してGetFile(...).Sizeを読む

  3. 結果

    3桁区切りの数値と「バイト」を表示。ファイルはそのまま

存在しなければ案内して終了。未保存の編集内容や「ディスク上のサイズ」は含みません。エラー時は中止を表示します。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    Windows版のデスクトップExcelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]に、この例だけを貼り付けます。

  2. 2

    filePathを既存のファイルへ変更します。

  3. 3

    実行するSubの内側にカーソルを置き、F5キーを押します。

  4. 4

    実行結果をエクスプローラーのプロパティの「サイズ」と比較します。

使っている機能の公式ドキュメント(Microsoft Learn)