🔧
CalculateFileSize
ユーティリティ現在のブックのファイルサイズを取得する
🎬 デモGIF準備中
📖 使い方
- VBAエディタを開く(Alt + F11)
- モジュールを挿入(挿入 > モジュール)
- 下記VBAコードをコピー&ペースト
- ブック上で実行(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