Lars Lehmann schrieb:
=WENN(IstFehler(100/0);"Division durch Null";"Kann berechnet werden")
> Basic wird es sich aber ähnlich verhalten.
Deine Vermutung liegt nahe, was aber durch folgenden Versuch _nicht_
bestätigt wird:
---schnipp---
myDoc = thisComponent
mySheet = myDoc.sheets(0)
myCell = mySheet.getCellRangeByName("$C$1")
myValue = myCell.value
if isError(myValue) then
print "Fehler"
else
print myValue
end if
---schnipp---
Wenn die Zelle C1 einen Fehlerwert (zum Beispiel wegen einer
Division durch 0) enthält, so liefert die Value-Eigenschaft den Wert
0 und keinen Fehlerwert. IsError liefert daher immer FALSE.
(Nebenbei: In Excel mit VBA funktioniert IsError in einem dem obigen
entsprechenden Beispiel sehr wohl, weil dort die Value-Eigenschaft
einen Fehlerwert liefert.)
In einem anderen Versuch ist IsError in OOo-Basic anwendbar:
---schnipp---
on error resume next
a=100
b=0
if isError(a/b) then
print "Fehler"
else
print a/b
end if
---schnipp---
Die Division durch 0 ergibt einen Fehler. Damit der Programmablauf
dadurch nicht unterbrochen wird, wurde die Fehlerbehandlung in der
ersten Zeile abgeschaltet. Mit IsError() kann man prüfen, ob eine
Rechenoperation möglich ist oder ob sie zu einem Fehler führen
würde. In Abhängigkeit davon kann man im Programm verzweigen. Das
ist IMO der Sinn und Zweck der Funktion IsError.
(Dieses Beispiel funktioniert auch in Excel mit VBA.)
Ein Codebeispiel zur Erläuterung, wie hier gezeigt, könnte in der
Online-Hilfe nicht schaden ;-)
Gruß
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]