У меня, например, все работает. Могу показать тот же подсчет в разобранном виде:Private Declare Function GetFileSize Lib "kernel32" _ (ByVal hFile As Long, _ lpFileSizeHigh As Long) As LongPrivate Declare Function CreateFile Lib "kernel32" Alias _ "CreateFileA" (ByVal lpFileName As String, _ ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, _ lpSecurityAttributes As Long, _ ByVal dwCreationDisposition As Long, _ ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long) As LongPrivate Declare Function CloseHandle Lib _ "kernel32" (ByVal hObject As Long) As Long Private Const GENERIC_WRITE = &H40000000Private Const OPEN_EXISTING = 3Private Const FILE_SHARE_READ = &H1Private Const FILE_SHARE_WRITE = &H2Sub ee() Dim hFile As Long Dim lSize As Long, kbSize As Double, mbSize As String Dim curSize As Currency Dim msg As String ‘Открываем файл hFile = CreateFile("C:\11\q.txt", _ GENERIC_WRITE, FILE_SHARE_READ Or _ FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0) ‘Получаем размер файла lSize = GetFileSize(hFile, 0) kbSize = lSize / 1024 mbSize = Format$(kbSize / 1024, "##0.00000000000000000000000000") CloseHandle hFile MsgBox "Bytes: " & CStr(lSize) & vbCrLf & _ "Kilobytes: " & CStr(kbSize) & vbCrLf & _ "Megabytes: " & CStr(mbSize)End Sub