wer hilft mir mal schnell auf die Sprünge?
Schreibe gerade ein Tool zur einfachen Ermittlung des Inhalts von Zip-Dateien. Hierbei müssen für die Größenermittlung z.B. für "Original" und "Packed" vierbytecodierte Felder in eine Zahl verwandelt werden.
Das mache ich mit folgender Function:
Function GetValue(S AS STRING) AS STRING
Dim A As Long
Dim B As Long
Dim C As Long
Dim D As Long
' On Error Resume Next
S = Right(Chr(0) & Chr(0) & Chr(0) & Chr(0) & S, 4)
A = Asc(Left(S, 1))
B = Asc(Mid(S, 2, 1)) * 256
C = Asc(Mid(S, 3, 1)) * 65536
D = Asc(Right(S, 1)) * 256 * 65536
GetValue = Trim(Str(D + C + B + A))
End Function
Sobald einer der Werte B bis D über 32784 (IntegerMax) kommt, erhalte ich Fehlermeldung "6 Überlauf". Mach hier schon 'ne halbe Stunde rum. Aber mein Excel 97 will nicht.
Jemand eine Idee hierzu?
viel Grüße Karl-heinz