📊 Excel VBA Top100
🔧

CalculateFileSize

ユーティリティ

現在のブックのファイルサイズを取得する

🎬 デモGIF準備中

📖 使い方

  1. VBAエディタを開く(Alt + F11)
  2. モジュールを挿入(挿入 > モジュール)
  3. 下記VBAコードをコピー&ペースト
  4. ブック上で実行(Alt + F8 でマクロ選択)
💡 実行例: 実行するとファイルサイズをメッセージとシート出力で表示する

💻 VBAコード

' CalculateFileSize
' -----------------
' Macro Name: CalculateFileSize
' Description: 現在のブックのファイルサイズを取得する
' Parameters: なし
' Returns: なし
' Usage: 実行するとファイルサイズをメッセージとシート出力で表示する
' -----------------

Sub CalculateFileSize()
    Dim wb As Workbook
    Dim filePath As String
    Dim fileSize As Long
    Dim fileSizeKB As Double
    Dim fileSizeMB As Double
    Dim ws As Worksheet
    Dim outputRow As Long

    On Error GoTo ErrorHandler

    Set wb = ActiveWorkbook

    If wb.Path = "" Then
        MsgBox "このブックは保存されていません。保存してから再実行してください。", vbExclamation
        Exit Sub
    End If

    filePath = wb.FullName

    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")

    If Not fso.FileExists(filePath) Then
        MsgBox "ファイルが見つかりません。", vbExclamation
        Exit Sub
    End If

    fileSize = fso.GetFile(filePath).Size
    fileSizeKB = fileSize / 1024
    fileSizeMB = fileSize / 1024 / 1024

    Set ws = ActiveSheet
    outputRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 2

    ws.Cells(outputRow, 1).Value = "ファイルサイズ"
    ws.Cells(outputRow, 1).Font.Bold = True
    outputRow = outputRow + 1

    ws.Cells(outputRow, 1).Value = "ファイル名:"
    ws.Cells(outputRow, 2).Value = wb.Name
    outputRow = outputRow + 1

    ws.Cells(outputRow, 1).Value = "パス:"
    ws.Cells(outputRow, 2).Value = filePath
    outputRow = outputRow + 1

    ws.Cells(outputRow, 1).Value = "サイズ (バイト):"
    ws.Cells(outputRow, 2).Value = fileSize
    outputRow = outputRow + 1

    ws.Cells(outputRow, 1).Value = "サイズ (KB):"
    ws.Cells(outputRow, 2).Value = Round(fileSizeKB, 2)
    outputRow = outputRow + 1

    ws.Cells(outputRow, 1).Value = "サイズ (MB):"
    ws.Cells(outputRow, 2).Value = Round(fileSizeMB, 2)
    ws.Cells(outputRow, 2).Font.Bold = True

    MsgBox "ファイルサイズ: " & Round(fileSizeMB, 2) & " MB (" & fileSize & " バイト)", vbInformation
    Exit Sub

ErrorHandler:
    MsgBox "エラーが発生しました: " & Err.Description, vbCritical
End Sub