19.08.2009, 16:29
Hallo liebe LVUser,
ich habe ein Excel Sheet erstellt in dem aus einer Ansammlung von Messdaten die Standardabweichung in einem Feld berechnet wird. Dieses Feld lese ich dann aus der der xls (es muss xls sein) Datei aus. Erstmal habe ich wirklich jede Moeglichkeit probiert, das Feld auszuelesen ohne eine Ausgabe im Variant Format zu erhalten. Aber dies scheint ohne das Office Kit von NI nicht moeglich. (Ich benutze ActiveX siehe Anhang) Nun entsteht folgendes Problem. Ich wandle die Variant Variable mittels Variant to Data in einen String um. Die Variant Ausgabe sieht so aus, zb Value -> 28.469E-6 und die einfach Umwandlung in den String liefert eine Zahl. Diese ist voellig richtig solang der Wert im Excel Sheet groesser als 0.1 ist. Jetzt geht aber irgendwie etwas bei der Umwandlung in den String schief, denn sobald der Wert <0.1 wird, ist die Ausgabe als String 9.xxxxx. Naehert sich dieser String wieder einer Zahl kleiner eins an springt der String wieder zu 9.xxxxxx. D.h. er erzwingt immer irgendwie eine Zahl die >1 ist, obwohl der eigentliche Wert schon 3*10^-6 und kleiner ist. Die Variant Ausgabe ist immer korrekt also scheint es am Auslesen nicht zu liegen. Zumal, wenn ich einfach eine feste Zahl in die xls eingebe und auslese ist der String auch mit beliebigen Kommastellen richtig.
Ich bin ratlos...
(Angehaengt ist der Mechanismus des Auslesens und ein Beispiel wo der Fehler auftritt. Ich habe "nur" LV6.1)
ich habe ein Excel Sheet erstellt in dem aus einer Ansammlung von Messdaten die Standardabweichung in einem Feld berechnet wird. Dieses Feld lese ich dann aus der der xls (es muss xls sein) Datei aus. Erstmal habe ich wirklich jede Moeglichkeit probiert, das Feld auszuelesen ohne eine Ausgabe im Variant Format zu erhalten. Aber dies scheint ohne das Office Kit von NI nicht moeglich. (Ich benutze ActiveX siehe Anhang) Nun entsteht folgendes Problem. Ich wandle die Variant Variable mittels Variant to Data in einen String um. Die Variant Ausgabe sieht so aus, zb Value -> 28.469E-6 und die einfach Umwandlung in den String liefert eine Zahl. Diese ist voellig richtig solang der Wert im Excel Sheet groesser als 0.1 ist. Jetzt geht aber irgendwie etwas bei der Umwandlung in den String schief, denn sobald der Wert <0.1 wird, ist die Ausgabe als String 9.xxxxx. Naehert sich dieser String wieder einer Zahl kleiner eins an springt der String wieder zu 9.xxxxxx. D.h. er erzwingt immer irgendwie eine Zahl die >1 ist, obwohl der eigentliche Wert schon 3*10^-6 und kleiner ist. Die Variant Ausgabe ist immer korrekt also scheint es am Auslesen nicht zu liegen. Zumal, wenn ich einfach eine feste Zahl in die xls eingebe und auslese ist der String auch mit beliebigen Kommastellen richtig.
Ich bin ratlos...
(Angehaengt ist der Mechanismus des Auslesens und ein Beispiel wo der Fehler auftritt. Ich habe "nur" LV6.1)