Sub main() Debug.Print GetFileSize(2, -2147483648@) / 1024; "KB" End Sub Function GetFileSize(ByVal nHigh As Long, ByVal nLow As Long) As Variant GetFileSize = CDec(ToUint32(nHigh)) * (2 ^ 32) + ToUint32(nLow) End Function Function ToUint32(ByVal value As Long) As Currency Dim tmp As Currency If value > 0 Then ToUint32 = value Else ToUint32 = 4294967295@ + value + 1 End If End Function