Seite 1 von 1

Textfeld auslesen

Verfasst: Do 14. Sep 2017, 14:13
von jo7411
Hallo Zusammen,
ich habe mir in einer Libreoffice Calc Tabelle ein Dialog erstellt, in dem Textfelder ausgefüllt werden sollen und in einer Tabelle ausgelesen werden sollen. Wenn ich den Dialog wieder öffne soll die Eingabe die vorher gemacht wurde wieder in den Textfeldern stehen.

Folgenden Code würde ich dafür benutzen:

Code: Alles auswählen

Sub Start_Dlg
	Dialoglibraries.Loadlibrary("Tools")'Achtung Bibliothek anpassen
	MyDlg= CreateUnoDialog(Dialoglibraries.TEST.Adresse) 'Achtung Bibliothek und Dialogname anpassen
	Auslesen
	MyDlg.execute()
End Sub

Sub Auslesen

	oDoc = thisComponent
	mySheet = oDoc.Sheets("Tankbau")
	mycell = mysheet.getCellRangeByName("AM1")
	myString1 = mycell.string
	MyDlg.getControl("TextField1").Text = myString1
End Sub

Sub Schreiben
	odoc=thisComponent
	MyCtrl=MyDlg.getControl("TextField1")
	MyText = MyCtrl.Model.Text
	mySheet = oDoc.Sheets("Tankbau")
	mycell = mysheet.getCellRangeByName("AM1")	
	mycell.string=MyText	
End Sub
Jedoch bekomme ich immer wieder die Fehlermeldung: "BASIC-Laufzeitfehler. Objektvariable nicht belegt."

Könnt Ihr mir weiterhelfen?

Vielen lieben Dank.
LG Joé

Re: Textfeld auslesen

Verfasst: Do 14. Sep 2017, 16:09
von mikele
Hallo,
die Frage ist, an welcher Stelle du die Meldung bekommst. Auf alle Fälle muss die Variable MyDlg sub-übergreifend deklariert werden.
Vor der ersten Sub also:

Code: Alles auswählen

Dim MyDlg as object