2017年6月5日

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


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

FileLen関数

FileLen関数は、引数に対象のファイルパスを指定します。返される数値の単位はバイト(Byte)になります。
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」にチェックを入れておく必要があります。


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

実行結果






comments powered by Disqus

スポンサーリンク