TextFelder lesen und beschreiben

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: TextFelder lesen und beschreiben

Re: TextFelder lesen und beschreiben

von Gabriel123 » Di, 25.03.2008 11:59

Vielleicht heute jemand eine Idee? TextFelder müssen sich per makro doch irgendwie ansprechen lassen!

Re: TextFelder lesen und beschreiben

von Gabriel123 » Do, 06.03.2008 16:44

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

von gschuckar » Do, 06.03.2008 15:38

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

von khsc7 » Do, 06.03.2008 15:28

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

von gschuckar » Do, 06.03.2008 15:13

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

von Gabriel123 » Do, 06.03.2008 14:57

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

von Gabriel123 » Mi, 05.03.2008 10:08

Hat denn Keiner einen Hinweis? Bin ich der einzigste der mit Textfeldern arbeitet?=)

Re: TextFelder lesen und beschreiben

von Gabriel123 » Mo, 03.03.2008 11:55

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

TextFelder lesen und beschreiben

von Gabriel123 » Do, 28.02.2008 10:48

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??!

Nach oben