[gelöst] OOo Basic - try..catch?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

CamuelSpenser
**
Beiträge: 32
Registriert: Mo, 19.12.2011 11:52

[gelöst] OOo Basic - try..catch?

Beitrag von CamuelSpenser »

Hallo ihr lieben,

hab wieder mal ne kleine Frage gibt es sowas wie Try.. Catch in OOo Basic?

Hab nämlich ein Makro, bei welchem der Auslöser mitgesendet wird. Der Auslöser kann hierbei eine ListBox, ein Radiobutton sowie auch von einer modifizierten Zelle herführen. Will jedoch nur, dass wenn eine zelle modifiziert wird, welche in einer reihe liegt welche kleiner als 24 ist ein weiteres Makro mithilfe des Call Befehls aufrufen.

Das mit dem ausführen wenn die zeile kleiner als 24 ist klappt Problemlos solange der Auslöser des Makros eine Zelle ist.

Code: Alles auswählen

    sAuslesen     = oEvent.AbsoluteName ' Zuweisung des Namens des Auslösenden Events, wenn Auslöser eine Zelle ist '
    sAuslesen     = right(sAuslesen,2)  ' die zwei letzten Zeichen auslesen '
    if val(sAuslesen) = 0 then sAuslesen = right(sAuslesen,1) ' wenn beide zeichen eine zahl sind ist val(sAuslesen) > 0 , val("$1") = 0


Wird das Makro jedoch durch eine dropdown Liste ausgeführt bekomme ich die berechtigte Fehlermeldung, dass das Objekt dropdown liste die Methode AbsolutName nicht kennt. Da diese zum herausfinden des Namens ja die "Source.Model.Name" hat. Dies ist aber eigentlich nur nebensächlich. es geht ja im Grunde darum, dass das nächste Makro nur ausgeführt wird wenn es von einer Zelle ausgeführt wird. Wollte zu diesem Zweck einen befehl wie try versuchen.. hjedoch hat mior dabei googln auch nix gebracht.

Sprich soll so aussehn (/nur als beispiel):
Wenn oEvent.AbsoluteName funktionnier dann lies die beiden letzten Zeichen aus.
Wenn nicht dann sAuslesen = 25

LG Camuel
Zuletzt geändert von CamuelSpenser am Fr, 16.11.2012 18:20, insgesamt 1-mal geändert.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: OOo Basic - try..catch?

Beitrag von komma4 »

Nein, sowas gibt es nicht.

Du kannst nur die/eine Fehlerbedingung abfangen, siehe F1 Online BASIC Hilfe zu ON ERROR
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
CamuelSpenser
**
Beiträge: 32
Registriert: Mo, 19.12.2011 11:52

Re: OOo Basic - try..catch?

Beitrag von CamuelSpenser »

Hey.

Erstmal Danke für deine Hilfe, passt perfekt genau das was gebraucht habe.

hab es jetzt so gelöst wie du mir damit deutlich machen wolltest :

Code: Alles auswählen

Sub Calculate_PE(oEvent)
On Error Goto ErrorHandler
dim sAuslesen    as String
    sAuslesen     = oEvent.AbsoluteName
    sAuslesen     = right(sAuslesen,2)
    if val(sAuslesen) = 0 then sAuslesen = right(sAuslesen,1)
    if Val(sAuslesen) < 24 then Call iZInitiate()
Exit Sub
ErrorHandler: 
        sAuslesen = 25
        Resume Next
End Sub
Antworten