Hallo,
ich habe ein Problem mit VBA unter Excel 97.
Ich lese mittels der RS 232 Schnittstelle den auf dem Display angezeigten Messwert eines Messgeräts (Escort 3136a Multimeter) aus. Wenn ich dies mittels des Windows Hyperterminal mache funktioniert es auch mit dem Format des ausgelesenen Wertes problemlos (z.B. +0.6765E-3). Wenn ich allerdings den Wert in Excel im Abstand von ein paar Sekunden auslese, hat er in ca. 50% der fälle ein falsches Darstellungsformat. Manchmal ist der Wert einfach negiert, manchmal steht der Exponent E vor dem Wert, oder aber es kommen wirre Zeichenfolgen. Die Zellen in Excel sind alle gleich formatiert, und auch im VBA-Code der Auslese-Funktion ist alles gleich.
Hier mein VBA-Code:
STRLENGTH 8
Display$ = "........"
OPENCOM ("COM1, 9600, N, 8, 1")
SENDBYTE Asc("R1")
STRREAD (Display$)
CLOSECOM
Cells(Zeile, Spalte) = Display$
Nur war die Idee, das ganze mittels String.Format zu realisieren. Hierbei habe ich auch schon mehrere Vorschläge, welche ich bei google gefunden habe, versucht. Allerdings bisher ohne Erfolg. Mir ist jedoch auch nicht ganz klar, ob dies überhaupt die richtige Richtung ist.
Ich wäre für einen Tip sehr dankbar.
|