Dialog Textfeld in Zelle eintragen

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: Dialog Textfeld in Zelle eintragen

Re: Dialog Textfeld in Zelle eintragen

von Jörg » Mo, 01.06.2015 18:08

Hallo balu,

in die Zelle will ein Datum mit dem Format MM.JJ eingeben.
Bei Verwendung string statt formulalocal krieg ich ein Hochkomma dazugeschrieben.
Bsp. '06.15

Mit der inputbox sieht das so aus:

Code: Alles auswählen

oZielzelle = oDoc.sheets(2).getCellRangeByName("K1")
oZielzelle.formulalocal = sName    
Vorher stand da auch string drin. Durch formulalocal war das Hochkomma dann wech.

Hab jetzt noch Deinen Vorschlag "oDialog5" gelesen.
Vielen Dank balu.
Das war´s. :D :D :D

Gruß Jörg

Re: Dialog Textfeld in Zelle eintragen

von balu » Mo, 01.06.2015 17:53

Hallo Jörg,

Versuch doch mal folgendes.
Anstatt

Code: Alles auswählen

Public Dialog5 as Object
nimm :wink:

Code: Alles auswählen

Public oDialog5 as Object

Warum nimmst Du in dieser Sub überhaupt *formulalocal*?

Code: Alles auswählen

sub eintragen
   oZelle.formulalocal = oDialog5.getControl("TextField1").text
Gibst Du in das Textfield eine Formel ein?
Wenn nein, dann machs so rum.

Code: Alles auswählen

sub eintragen
   oZelle.string = oDialog5.getControl("TextField1").text

Gruß
balu

Re: Dialog Textfeld in Zelle eintragen

von Jörg » Mo, 01.06.2015 17:28

Hallo balu,
Der Code sieht nach Deinen Hinweisen wie folgt aus. Hoffe, dass ich nichts übersehen habe.

Code: Alles auswählen

Public Dialog5 as Object
Public oBlatt as Object
Public oZelle as Object
Sub monat_eintragen	
	odoc = ThisComponent
	oBlatt = odoc.Sheets.getByIndex(2)
	oZelle = oBlatt.getCellRangebyName("K1")	
	
	DialogLibraries.loadLibrary("Standard")
	oDialog5 = CreateUnoDialog(DialogLibraries.Standard.Dialog5)
	
	oDialog5.execute
end sub

sub eintragen

	oZelle.formulalocal = oDialog5.getControl("TextField1").text
   	oDialog5.endexecute
end sub
Leider erhalte ich weiterhin die Fehlermeldung "Objektvariable nicht belegt" :?

Ich versteh das nicht. :oops:

Gruß
Jörg

Re: Dialog Textfeld in Zelle eintragen

von balu » Mo, 01.06.2015 14:22

Hallo Jörg,

Code: Alles auswählen

Public oZelle as Object
Das ist korrekt.

Code: Alles auswählen

sub eintragen
[...]
Dim oZelle as Object
Aber das ist Falsch!
Denn Du hast ja schon oZelle öffentlich deklariert, und durch das zweitemal in der Sub verliert oZelle jegliche zuvor vorgenommene definition. Also schmeiß "Dim oZelle as Object" in der Sub raus.

Code: Alles auswählen

sub eintragen
Dim Textfield1 as Object
[...]
   oZelle.formulalocal = oDialog5.getControl("TextField1").text
Das "Dim Textfield1..." gehört auch nicht darein.



Gruß
balu

Re: Dialog Textfeld in Zelle eintragen

von Jörg » Mo, 01.06.2015 13:49

sorry hab vergessen die Zeiele zu benennen.

Code: Alles auswählen

oZelle.formulalocal = oDialog5.getControl("TextField1").text

Dialog Textfeld in Zelle eintragen

von Jörg » Mo, 01.06.2015 13:46

Hallo,
obwohl schon soviel hier geschrieben, krieg ich es einfach nicht hin.

Code: Alles auswählen

Public Dialog5 as Object
Public oBlatt as Object
Public oZelle as Object
Sub monat_eintragen	
	odoc = ThisComponent
	oBlatt = odoc.Sheets.getByIndex(2)
	oZelle = oBlatt.getCellRangebyName("K1")	
		DialogLibraries.loadLibrary("Standard")
	oDialog5 = CreateUnoDialog(DialogLibraries.Standard.Dialog5)
			oDialog5.execute
end sub

sub eintragen
Dim Textfield1 as Object
Dim oZelle as Object
	oZelle.formulalocal = oDialog5.getControl("TextField1").text
   	oDialog5.endexecute
end sub
Diese Zeile wird mit der Fehlermeldung "Objektvariable nicht belegt" angemeckert.
Zum Vergleich funktioniert nachfolgender Code für eine andere Aufgabe einwandfrei.

Code: Alles auswählen

Public oDialog1 as Object
	Public oProjektBlatt as Object
Sub Neue_Verordnung_erfassen_Array
	Dim oDoc as Object, oSheet as Object

	DialogLibraries.loadLibrary("Standard")
	oDialog1 = CreateUnoDialog(DialogLibraries.Standard.Dialog)
	
	oDoc = ThisComponent
	oProjektBlatt = oDoc.Sheets.getByName("Hilfstabelle")
	oDialog1.execute
End Sub
'
'##############################################################################################################
'
sub auswerten
	
   		oProjektBlatt.getcellByPosition(1,1).formulalocal = oDialog1.getControl("TextField" & ta+1).text
   	oDialog1.endexecute
   	end sub
Habe zwar eine Möglichkeit mit Hilfe einer Inputbox gefunden, würde es aber lieber mit dem Dialog machen.

Gruß Jörg

Nach oben