Danek für die Mühe, ich werde es am Wochenende mal ausprobieren.
Schöne WE
Ibanez
[gelöst] Eingabefeld auslesen und ändern mit inputbox
Moderator: Moderatoren
Re: Eingabefeld auslesen und ändern mit inputbox
Der Haken im Text erscheint. Allersdings wundere ich mich über zwei Dinge.
1. Im Dialogfenster selbst wird kein Punkt (wenn ich die entsprechende Stelle anklicke) im OptionsButton (Telefon) angezeigt.
2. Beim Befehl Auslesen bekomme ich immer eine Fehlermeldung an der Stelle "Opt_Button1 = MyControl.Label("OptionButtton_Festnetz")" - Objectvariable nicht belegt
Lasse ich das Auslesen weg funktioniert das Häckchen setzen im Dokument, aber mit dem Fehler der unter 1. beschrieben wird. Das ist Blöd, da ich im Dialogfenster gerne sehen würde was zu Zeit auf dem Formular markiert ist. Alles andere klappt soweit!
1. Im Dialogfenster selbst wird kein Punkt (wenn ich die entsprechende Stelle anklicke) im OptionsButton (Telefon) angezeigt.
2. Beim Befehl Auslesen bekomme ich immer eine Fehlermeldung an der Stelle "Opt_Button1 = MyControl.Label("OptionButtton_Festnetz")" - Objectvariable nicht belegt

Lasse ich das Auslesen weg funktioniert das Häckchen setzen im Dokument, aber mit dem Fehler der unter 1. beschrieben wird. Das ist Blöd, da ich im Dialogfenster gerne sehen würde was zu Zeit auf dem Formular markiert ist. Alles andere klappt soweit!
Code: Alles auswählen
Sub Dlg_FB5
Dialoglibraries.Loadlibrary("Standard")
MyDlg= CreateUnoDialog(Dialoglibraries.Standard.Dlg_FB)
Auslesen_OB5
Felbefehl_lesen5
MyDlg.Model.Step=5
Ctl_Telefon = MyDlg.GetControl("TextField_Telnr")
Ctl_Telefon.Model.Text = String_Telnr
Ctl_Telefon.setfocus()
MyDlg.Execute()
MyDlg.Dispose()
end Sub
Sub Auslesen_OB5
Opt_Button1 = MyDialog.getControl("OptionButton_Telnr")
State_Opt1 = Opt_Button1.model.State
msgbox State_Opt1
End Sub
Sub Checkbox_schreiben5
oDoc = thisComponent
oController = oDoc.getCurrentController()
oform = odoc.drawpage.forms.getbyindex(0)
CtrlCheckBox = oForm.getByName("CheckBox_Festnetz")
oKView = oController.getControl(CtrlCheckBox)
CtrlCheckBox.State= 1
Myctrl= oKView.model.State
End Sub
Sub Felbefehl_lesen5
oDoc = thisComponent
strUserfield_Telefon = "Telnr"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Telnr = "com.sun.star.text.FieldMaster.User." + StrUserfield_Telefon
String_Telnr = oTextFieldMasters.getByName(TxtUserfield_Telnr).content
End Sub
Sub Felbefehl_schreiben5
strUserfield_Name = "Telnr"
Ctl_Telefon = MyDlg.GetControl("TextField_Telnr")
String_Telefon = Ctl_Name.Model.Text
strContent_Telnr = String_Telnr
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Telnr="com.sun.star.text.FieldMaster.User." + StrUserfield_Telefon
oTextFieldMasters.getByName(TxtUserfield_Telnr).content = StrContent_Telnr
oDoc.getTextFields().refresh()
MyDlg.endexecute()
End Sub
Sub schflaeche_cbBack5
Felbefehl_schreiben5
Dlg_FB4
End sub
Sub schflaeche_cmd_ok5
Felbefehl_schreiben5
End Sub
Re: Eingabefeld auslesen und ändern mit inputbox
????Ibanez hat geschrieben:Im Dialogfenster selbst wird kein Punkt (wenn ich die entsprechende Stelle anklicke) im OptionsButton (Telefon) angezeigt.
Ist der Button wirklich so benannt?Ibanez hat geschrieben:Beim Befehl Auslesen bekomme ich immer eine Fehlermeldung an der Stelle "Opt_Button1 = MyControl.Label("OptionButtton_Festnetz")" - Objectvariable nicht belegt
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: Eingabefeld auslesen und ändern mit inputbox
Um es genauer zu erklären. Ich kann zwar den Bereich "Festnetz" anklicken, das runde Optionsfeld links neben dem Text bleibt aber leer und füllt sich nicht schwarz wie hier????

[q[ote]Ist der Button wirklich so benannt?[/quote]
Nein. Richtigerweise heißt er "Opt_Button1 = MyControl.Label("OptionButton_Festnetz")
Re: Eingabefeld auslesen und ändern mit inputbox
Um das ganze jetzt abzuschliesen gebe hier mal ein kleines Feedback wie ich zumindest die Texteingabe gelöst habe.
Nach dem Tip von Jürgen habe ich eine Dialogabfrage gemacht. Der Dialog heißt Dlg_FB und sollte individuell gestaltet werden. Ich habe anbei nur einen Teil hier gepostet.
Sollte jemand fragen haben kann er sich gerne dirket an mich wenden. Falls interesse besteht kann ich die Abfrage auch Hochladen.
Vielen Dank an Jürgen, ohne den ich wohl nie auf einen grünen Zweig gekommen wäre.
Ibanez
Nach dem Tip von Jürgen habe ich eine Dialogabfrage gemacht. Der Dialog heißt Dlg_FB und sollte individuell gestaltet werden. Ich habe anbei nur einen Teil hier gepostet.
Sollte jemand fragen haben kann er sich gerne dirket an mich wenden. Falls interesse besteht kann ich die Abfrage auch Hochladen.
Vielen Dank an Jürgen, ohne den ich wohl nie auf einen grünen Zweig gekommen wäre.
Ibanez
Code: Alles auswählen
Dim MyDlg as Object
Dim String_Name as String
Dim String_Vorname as String
Dim String_Strasse as String
Dim String_Plz as String
Dim String_Ort as String
Dim String_Telefon as String
Dim String_Oder as String
Dim String_Fax as String
Dim String_EmailV as String
Dim oDoc as Object
Dim oTextFieldMasters as Object
Dim TxtUserfield as String
Dim TxtName as String
Dim TxtVorname as String
Dim TxtStrasse as String
Dim TxtPlz as String
Dim TxtOrt as String
Dim TxtTelefon as String
Dim TxtOder as String
Dim TxtFax as String
Dim TxtEmail as String
rem ***** Beginn -- Dialogfenster1 *****
Sub Dlg_FB1
Dialoglibraries.Loadlibrary("Standard")
MyDlg= CreateUnoDialog(Dialoglibraries.Standard.Dlg_FB)
Felbefehl_lesen1
MyDlg.Model.Step=1
Ctl_Name = MyDlg.GetControl("TextField_Name")
Ctl_Vorname = MyDlg.GetControl("TextField_Vorname")
Ctl_Strasse = MyDlg.GetControl("TextField_Strasse")
Ctl_Plz = MyDlg.GetControl("TextField_Plz")
Ctl_Ort = MyDlg.GetControl("TextField_Ort")
Ctl_Telefon = MyDlg.GetControl("TextField_Telefon")
Ctl_Oder = MyDlg.GetControl("TextField_Oder")
Ctl_Fax = MyDlg.GetControl("TextField_Fax")
Ctl_Email = MyDlg.GetControl("TextField_Email")
Ctl_Name.Model.Text = String_Name
Ctl_Vorname.Model.Text = String_Vorname
Ctl_Strasse.Model.Text = String_Strasse
Ctl_Plz.Model.Text = String_Plz
Ctl_Ort.Model.Text = String_Ort
Ctl_Telefon.Model.Text = String_Telefon
Ctl_Oder.Model.Text = String_Oder
Ctl_Fax.Model.Text = String_Fax
Ctl_Email.Model.Text = String_Email
Ctl_Name.setfocus()
MyDlg.Execute()
MyDlg.Dispose()
end Sub
Sub Felbefehl_lesen1
oDoc = thisComponent
strUserfield_Name = "Name"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Name = "com.sun.star.text.FieldMaster.User." + StrUserfield_Name
String_Name = oTextFieldMasters.getByName(TxtUserfield_Name).content
strUserfield_Vorname = "Vorname"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Vorname = "com.sun.star.text.FieldMaster.User." + StrUserfield_Vorname
String_Vorname = oTextFieldMasters.getByName(TxtUserfield_Vorname).content
strUserfield_Strasse = "Strasse"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Strasse = "com.sun.star.text.FieldMaster.User." + StrUserfield_Strasse
String_Strasse = oTextFieldMasters.getByName(TxtUserfield_Strasse).content
strUserfield_Plz = "Plz"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Plz = "com.sun.star.text.FieldMaster.User." + StrUserfield_Plz
String_Plz = oTextFieldMasters.getByName(TxtUserfield_Plz).content
strUserfield_Ort = "Ort"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Ort = "com.sun.star.text.FieldMaster.User." + StrUserfield_Ort
String_Ort = oTextFieldMasters.getByName(TxtUserfield_Ort).content
strUserfield_Telefon = "Telefon"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Telefon = "com.sun.star.text.FieldMaster.User." + StrUserfield_Telefon
String_Telefon = oTextFieldMasters.getByName(TxtUserfield_Telefon).content
strUserfield_Oder = "Oder"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Oder = "com.sun.star.text.FieldMaster.User." + StrUserfield_Oder
String_Oder = oTextFieldMasters.getByName(TxtUserfield_Oder).content
strUserfield_Fax = "Fax"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Fax = "com.sun.star.text.FieldMaster.User." + StrUserfield_Fax
String_Fax = oTextFieldMasters.getByName(TxtUserfield_Fax).content
strUserfield_Email = "Email"
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Email = "com.sun.star.text.FieldMaster.User." + StrUserfield_Email
String_Email = oTextFieldMasters.getByName(TxtUserfield_Email).content
End Sub
Sub Felbefehl_schreiben1
oDoc = thisComponent
strUserfield_Name = "Name"
Ctl_Name = MyDlg.GetControl("TextField_Name")
String_Name = Ctl_Name.Model.Text
strContent_Name = String_Name
strUserfield_Vorname = "Vorname"
Ctl_Vorname = MyDlg.GetControl("TextField_Vorname")
String_Vorname = Ctl_Vorname.Model.Text
strContent_Vorname = String_Vorname
strUserfield_Strasse = "Strasse"
Ctl_Strasse = MyDlg.GetControl("TextField_Strasse")
String_Strasse = Ctl_Strasse.Model.Text
strContent_Strasse = String_Strasse
strUserfield_Plz = "Plz"
Ctl_Plz = MyDlg.GetControl("TextField_Plz")
String_Plz = Ctl_Plz.Model.Text
strContent_Plz = String_Plz
strUserfield_Ort = "Ort"
Ctl_Ort = MyDlg.GetControl("TextField_Ort")
String_Ort = Ctl_Ort.Model.Text
strContent_Ort = String_Ort
strUserfield_Telefon = "Telefon"
Ctl_Telefon = MyDlg.GetControl("TextField_Telefon")
String_Telefon = Ctl_Telefon.Model.Text
strContent_Telefon = String_Telefon
strUserfield_Oder = "Oder"
Ctl_Oder = MyDlg.GetControl("TextField_Oder")
String_Oder = Ctl_Oder.Model.Text
strContent_Oder = String_Oder
strUserfield_Fax = "Fax"
Ctl_Fax = MyDlg.GetControl("TextField_Fax")
String_Fax = Ctl_Fax.Model.Text
strContent_Fax = String_Fax
strUserfield_Email = "Email"
Ctl_Email = MyDlg.GetControl("TextField_Email")
String_Email = Ctl_Email.Model.Text
strContent_Email = String_Email
On Error Resume Next
oTextFieldMasters = oDoc.TextFieldMasters
TxtUserfield_Name="com.sun.star.text.FieldMaster.User." + StrUserfield_Name
oTextFieldMasters.getByName(TxtUserfield_Name).content = StrContent_Name
TxtUserfield_Vorname="com.sun.star.text.FieldMaster.User." + StrUserfield_Vorname
oTextFieldMasters.getByName(TxtUserfield_Vorname).content = StrContent_Vorname
TxtUserfield_Strasse="com.sun.star.text.FieldMaster.User." + StrUserfield_Strasse
oTextFieldMasters.getByName(TxtUserfield_Strasse).content = StrContent_Strasse
TxtUserfield_Plz="com.sun.star.text.FieldMaster.User." + StrUserfield_Plz
oTextFieldMasters.getByName(TxtUserfield_Plz).content = StrContent_Plz
TxtUserfield_Ort="com.sun.star.text.FieldMaster.User." + StrUserfield_Ort
oTextFieldMasters.getByName(TxtUserfield_Ort).content = StrContent_Ort
TxtUserfield_Telefon="com.sun.star.text.FieldMaster.User." + StrUserfield_Telefon
oTextFieldMasters.getByName(TxtUserfield_Telefon).content = StrContent_Telefon
TxtUserfield_Oder="com.sun.star.text.FieldMaster.User." + StrUserfield_Oder
oTextFieldMasters.getByName(TxtUserfield_Oder).content = StrContent_Oder
TxtUserfield_Fax="com.sun.star.text.FieldMaster.User." + StrUserfield_Fax
oTextFieldMasters.getByName(TxtUserfield_Fax).content = StrContent_Fax
TxtUserfield_Email="com.sun.star.text.FieldMaster.User." + StrUserfield_Email
oTextFieldMasters.getByName(TxtUserfield_Email).content = StrContent_Email
oDoc.getTextFields().refresh()
MyDlg.endexecute()
End Sub
rem ***** Ende -- Dialogfenster1 *****