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.
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.
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.
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"
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