2017年6月5日

【Excel】ファイルサイズを取得するマクロ


ファイルサイズを取得するには、FileLen関数を使った方法とFileSystemObjectを使った方法があります。

FileLen関数

FileLen関数は、引数に対象のファイルパスを指定します。返される数値の単位はバイト(Byte)になります。
1
2
3
4
5
6
7
8
9
Sub GetFileSize1()
 
    Dim filePath As String
     
    filePath = "C:\work\image1\cccc.jpg"
     
    MsgBox filePath & vbCrLf & vbCrLf & "ファイルサイズは、" & Format(FileLen(filePath), "#,###") & " Byteです。", vbInformation, "FileLen"
 
End Sub

実行結果



FileSystemObject

FileSystemObjectでファイルサイズを取得するには、まずGetFileでファイルオブジェクトを取得し、そのSizeプロパティからファイルサイズを取得します。

※このFileSystemObjectを使うには、あらかじめ参照設定で「Microsoft Scripting Runtime」にチェックを入れておく必要があります。


1
2
3
4
5
6
7
8
9
10
11
12
13
Sub GetFileSize2()
 
    Dim fso As New FileSystemObject
    Dim filePath As String
    Dim fileSize As Long
     
    filePath = "C:\work\image1\cccc.jpg"
     
    fileSize = fso.GetFile(filePath).Size
     
    MsgBox filePath & vbCrLf & vbCrLf & "ファイルサイズは、" & Format(fileSize, "#,###") & " Byteです。", vbInformation, "FileSystemObject"
 
End Sub

実行結果






スポンサーリンク



Follow Me on Pinterest
Clip to Evernote