Use this small API from the shlwapi (Shell Windowing API) DLL that ships with Internet Explorer (IE) to help you convert file size in bytes into proper strings such as “1.41 KB” or “1.32 MB.” You need IE for this because it calls shlwapi.dll, which is present on all NT4, Windows 95+IE, and Windows 98 systems:
Private Declare Function StrFormatByteSize Lib _ "shlwapi" Alias "StrFormatByteSizeA" (ByVal _ dw As Long, ByVal pszBuf As String, ByRef _ cchBuf As Long) As StringPublic Function FormatKB(ByVal Amount As Long) _ As String Dim Buffer As String Dim Result As String Buffer = Space$(255) Result = StrFormatByteSize(Amount, Buffer, _ Len(Buffer)) If InStr(Result, vbNullChar) > 1 Then FormatKB = Left$(Result, InStr(Result, _ vbNullChar) - 1) End IfEnd Function