Seite 1 von 1
TextFelder lesen und beschreiben
Verfasst: Do, 28.02.2008 10:48
von Gabriel123
Hallo,
ich habe ein eigenartiges Problem mit einigen TextFeldern. In Formular1 funktioniert folgender Code einwandfrei!
Das Makro kopiert den Inhalt eines TextFelds in eine globale Variable und dann wieder in ein TextFeld. Umweg über Variable brauche ich für später...
Code: Alles auswählen
sub linksrechts
oForm = thisComponent.drawpage.forms.getByName("gafuform")
with oForm
txtNotiz2 =.getByName("Notiz2").text
.getByName("Notiz12").text= txtNotiz2
End With
end sub
Jetzt habe ich in Formular2 (kein Unterformular) auch zwei TextFelder und nutze genau den gleichen Code außer getbyname(gafuform1).
Jetzt kennt er die Felder auf einmal nicht (no such element) obwohl sie genau so heißen wie im ersten Formular. Wie kann es denn sein, dass der Code in einem Formular läuft und in einem anderen nicht??!
Re: TextFelder lesen und beschreiben
Verfasst: Mo, 03.03.2008 11:55
von Gabriel123
Habe ich denn das TextFeld überhaupt richtig angesprochen oder ist es zufall, dass es in Formular1 läuft? Sonst muss ich halt ein Formatiertes textfeld nehmen wenn Textfelder schwieriger anzusprechen sind...nur da habe ich keinen Zeilenumbruch
Re: TextFelder lesen und beschreiben
Verfasst: Mi, 05.03.2008 10:08
von Gabriel123
Hat denn Keiner einen Hinweis? Bin ich der einzigste der mit Textfeldern arbeitet?=)
Re: TextFelder lesen und beschreiben
Verfasst: Do, 06.03.2008 14:57
von Gabriel123
Es kann doch nicht sein dass ich in einem Formular das textfeld sauber ansprechen kann wie oben beschrieben und wenn ich aus diesem Formular ein neues öffne es in diesem nicht mehr geht?! Geht man denn mit TextFeldern um wie mit FormatiertenTextfeldern?
Re: TextFelder lesen und beschreiben
Verfasst: Do, 06.03.2008 15:13
von gschuckar
Hallo Gabriel,
mal angenommen, beide Formulare befinden sich im gleichen Sheet. Weiter angenommen, beide Formulare haben unterschiedliche Aufgaben zu erfüllen. Dann aber benenne doch mal die Textfelder in Formular2 anders als in Formular1. Es ist bei mir schon vorgekommen, das Textfelder in verschiedenen Formularen bei gleichem Namen sich eigenartig verhielten.
Mit welcher Version oo arbeitest Du? Linux oder Windows? Vielleicht spielt das eine Rolle.
Gruß
Gerd
Re: TextFelder lesen und beschreiben
Verfasst: Do, 06.03.2008 15:28
von khsc7
Moin,
1. thisComponent geht nur, wenn das Formular das aktive Formular ist.
sonst langst du nämlich daneben (wäre ein typischer Fehler).
2. Ereignis-Funktionen kannst du mit nem Parameter "oEv as Object" versehen
da hast du dann ne Referenz zum Aufrufenden Objekt
3. Setz doch mal nen Breakpoint und schau dir die Inhalte der Objekte an.
ggf. besorg dir das xray-Tool - damit gehts noch besser
Hermann
Re: TextFelder lesen und beschreiben
Verfasst: Do, 06.03.2008 15:38
von gschuckar
Hallo Gabriel,
ich hab mal das folgende probiert:
in einem Sheet habe ich 2 Formulare hergestellt. Das sheet heist Tabelle1, die Formulare heisen gafuform1 und gafuform2. Die Textfelder in jedem Formular jeweils txt1 und txt2.
Dann habe ich Deine Routine für jedes Form geschrieben. so:
Code: Alles auswählen
REM ***** BASIC *****
option explicit
sub main
linksrechts1()
linksrechts2()
end sub
sub linksrechts2
dim txtNotiz2 as String
oForm = Globalscope.thisComponent.sheets.getByname("Tabelle1").drawPage.forms.getbyname("gafuform2")
with oForm
txtNotiz2 =.getByName("txt1").text
.getByName("txt2").text= txtNotiz2
End With
end sub
sub linksrechts1
dim txtNotiz2 as String
oForm = Globalscope.thisComponent.sheets.getByname("Tabelle1").drawPage.forms.getbyname("gafuform1")
with oForm
txtNotiz2 =.getByName("txt1").text
.getByName("txt2").text= txtNotiz2
End With
end sub
Das geht natürlich auch in einem WriterDokument.
Die subs funktionieren. Allerdings bin ich mir nicht sicher, ob mein Aufbau dem entspricht, was Du möchtest. Vielleicht verstehe ich auch Dein Problem nicht.
Gruß
Gerd
Re: TextFelder lesen und beschreiben
Verfasst: Do, 06.03.2008 16:44
von Gabriel123
Hey!
Also mein Problem hast Du denke ich schon erkannt. Ganz genau habe ich vor in Form1 den Inhalt aus Textfeld1 zu lesen und an eine globale VAR zu übergeben. Dann öffne ich Formular2 und übergebe die VAR an Textfeld2. Scheinbar lassen sich aber Textfelder nicht genauso ansprechen wie formatierte Textfelder. Ich bekomme immer den fehler, dass das Textfeld nicht gefudnen werden kann. Das Bsp. mit den Sheets ist gut aber daraus kann ichs nicht für Writer / Formular ableiten...
Re: TextFelder lesen und beschreiben
Verfasst: Di, 25.03.2008 11:59
von Gabriel123
Vielleicht heute jemand eine Idee? TextFelder müssen sich per makro doch irgendwie ansprechen lassen!