von Ibanez » Do, 31.07.2008 11:39
Hallo Jürgen,
so jetzt bin ich soweit, dass ich nicht mehr weiter weiß.
Ich habe jetzt die Datei etwas verändert unter anderem habe ich im das Textfeld NameV benannt. Das ist wichtig, da es auch noch ein NameS geben soll. Das Problem ist, dass der Text perfekt ausgelesen wird, ich aber keinen entsprechenden Eintrag erhalte wenn ich es im Dialogfenster ändere. Das Problem liegt also im "Felbefehl_schreiben", aber wo?
Interessanterweise passiert der Fehler auch nur bei meinem Dokument. In Deinem Dokument funktioniert es.
Code: Alles auswählen
Dim MyDlg as Object
Dim String_NameV as String
Dim oDoc as Object
Dim oTextFieldMasters as Object
Dim TxtUserfield as String
Dim TxtName as String
Sub Dlg_FB
Dialoglibraries.Loadlibrary("Standard")
MyDlg= CreateUnoDialog(Dialoglibraries.Standard.Dlg_FB)
Felbefehl_lesen
Ctl_Name = MyDlg.GetControl("TextField_NameV")
Ctl_Name.Model.Text = String_NameV
Ctl_Name.setfocus()
MyDlg.execute()
end Sub
Sub Felbefehl_lesen
oDoc = thisComponent
strUserfield_NameV = "NameV"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_NameV="com.sun.star.text.FieldMaster.User." + StrUserfield_NameV
String_NameV=oTextFieldMasters.getByName(TxtUserfield_NameV).content
Sub Felbefehl_schreiben
oDoc = thisComponent
strUserfield_NameV = "NameV"
Ctl_Name = MyDlg.GetControl("TextField_NameV")
String_NameV = Ctl_Name.Model.Text
strContent_NameV = String_NameV
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_NameV="com.sun.star.text.FieldMaster.User." + StrUserfield_NameV
oTextFieldMasters.getByName(TxtUserfield_NameV).content = StrContent_NameV
oDoc.getTextFields().refresh()
MyDlg.endexecute()
End Sub
merci vielmals
Fehlermeldung:
"Basic-Laufzeitfehler. Objektvariable nicht belegt".
Hallo Jürgen,
so jetzt bin ich soweit, dass ich nicht mehr weiter weiß.
Ich habe jetzt die Datei etwas verändert unter anderem habe ich im das Textfeld NameV benannt. Das ist wichtig, da es auch noch ein NameS geben soll. Das Problem ist, dass der Text perfekt ausgelesen wird, ich aber keinen entsprechenden Eintrag erhalte wenn ich es im Dialogfenster ändere. Das Problem liegt also im "Felbefehl_schreiben", aber wo?
Interessanterweise passiert der Fehler auch nur bei meinem Dokument. In Deinem Dokument funktioniert es.
[code]Dim MyDlg as Object
Dim String_NameV as String
Dim oDoc as Object
Dim oTextFieldMasters as Object
Dim TxtUserfield as String
Dim TxtName as String
Sub Dlg_FB
Dialoglibraries.Loadlibrary("Standard")
MyDlg= CreateUnoDialog(Dialoglibraries.Standard.Dlg_FB)
Felbefehl_lesen
Ctl_Name = MyDlg.GetControl("TextField_NameV")
Ctl_Name.Model.Text = String_NameV
Ctl_Name.setfocus()
MyDlg.execute()
end Sub
Sub Felbefehl_lesen
oDoc = thisComponent
strUserfield_NameV = "NameV"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_NameV="com.sun.star.text.FieldMaster.User." + StrUserfield_NameV
String_NameV=oTextFieldMasters.getByName(TxtUserfield_NameV).content
Sub Felbefehl_schreiben
oDoc = thisComponent
strUserfield_NameV = "NameV"
Ctl_Name = MyDlg.GetControl("TextField_NameV")
String_NameV = Ctl_Name.Model.Text
strContent_NameV = String_NameV
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_NameV="com.sun.star.text.FieldMaster.User." + StrUserfield_NameV
oTextFieldMasters.getByName(TxtUserfield_NameV).content = StrContent_NameV
oDoc.getTextFields().refresh()
MyDlg.endexecute()
End Sub[/code]
merci vielmals
Fehlermeldung: [b]"Basic-Laufzeitfehler. Objektvariable nicht belegt".[/b]