Hi zusammen,
ich habe schon überall gesucht, aber leider nichts gefunden.
Ich möchte Objekte als Konstanten deklarieren, aber leider kommt immer ein Syntaxfehler.
Hier sind mal zwei Beispiele:
Const oDoc = thisComponent
Const oSheet = oDoc.sheets.getByName("Rechnung")
Auch Const oDoc as Object = thisComponent funktioniert nicht.
Wenn ich hingegen ein Integer-Wert als Constante deklariere gibt es keine Probleme.
Somit stellt sich für mich die Frage, ob es überhaupt möglich ist ein Objekt als Konstante zu deklarieren?
Danke schon mal
Gruß
Ironzwerg
Objekt als Konstante
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Objekt als Konstante
Nein, das denke ich nicht.
CONST müssen vor dem Starten einer SUB konkrete Werte haben, das ist bei ThisComponent nicht der Fall (da es erst bei der ersten Verwendung durch die runtime engine aufgelöst wird).
Eine Zuweisung als oDoc erübrigt sich doch auch, da Du ja alternativ im Code immer ThisComponent nutzen kannst.
Willst Du Dir Tipparbeit ersparen, weil Du immer wieder die gleichen Zuordnungen brauchst, dann schreibe Dir eine Routine, welche die gewünschten Objekte setzt, und rufe die auf
und dort dann...
Lasse die Typzuweisung einfach weg.
Erstens steht irgendwo (im DevGuide?), dass man VARIANT anstelle OBJECT nutzen soll, und zweitens findet OOo automatisch den richtigen Typ.
Deutlicher ( = Nachvollziehbarkeit, ein Qualitätsmerkmal!) ist es aber im Code selbst schreiben, was vor sich geht...
HTH
CONST müssen vor dem Starten einer SUB konkrete Werte haben, das ist bei ThisComponent nicht der Fall (da es erst bei der ersten Verwendung durch die runtime engine aufgelöst wird).
Eine Zuweisung als oDoc erübrigt sich doch auch, da Du ja alternativ im Code immer ThisComponent nutzen kannst.
Willst Du Dir Tipparbeit ersparen, weil Du immer wieder die gleichen Zuordnungen brauchst, dann schreibe Dir eine Routine, welche die gewünschten Objekte setzt, und rufe die auf
Code: Alles auswählen
Sub Main
call calcObjekte
'...
print oBlatt1.Name ' or whatever
'...
End Sub
Code: Alles auswählen
Public oTopCalcDoc
Public oBlatt1
Sub calcObjekte
oTopCalcDoc = ThisComponent
oBlatt1 = oTopCalcDoc.getSheets().getByName( "Tabelle1" )
End Sub
Erstens steht irgendwo (im DevGuide?), dass man VARIANT anstelle OBJECT nutzen soll, und zweitens findet OOo automatisch den richtigen Typ.
Deutlicher ( = Nachvollziehbarkeit, ein Qualitätsmerkmal!) ist es aber im Code selbst schreiben, was vor sich geht...
HTH
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)
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)