mehrere Textboxen in Word userform eingeben und auswählen

  • Word

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Deine Fragestellung ist nicht sehr informativ. Wie wählst Du die TextBoxen an? Soll erst was passieren, wenn mehrere TextBoxen gewählt sind? Soll erst was passieren, wenn man einen Button drückt? Soll einfach nur der Text im Dokument angefügt werden? Infos und ggf. ein Screenshot vom Design (und wenn es nur ein Entwurf ist) sind notwendig. An sich geht alles, hier mal testweise, wenn man einen Doppelklick auf eine TextBox namens TextBox1 macht:

    Visual Basic-Quellcode

    1. Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    2. Selection.MoveLeft Unit:=wdCharacter, Count:=1
    3. Selection.TypeText Text:=TextBox1.Text
    4. End Sub

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Danke für die schnelle Antwort. Sorry, hab mich vielleicht nicht richtig ausgedrückt. Ich versuche es noch mal.

    Ich habe verschiedene Texte in verschiedenen TextBoxen. Es soll aber jeweils eine TextBox ausgewählt werden und im Dokument angezeigt werden.

    Z.B.
    TextBox1 = Text1
    TextBox2 = Text2
    TextBox3 = Text3
    usw.

    Ich wähle jetzt z.B. TextBox2 aus. Nun soll der Inhalt von TextBox2 im Dokument erscheinen. Es soll jeweils nur eine Box aus wählbar sein.

    Ich hoffe es ist jetzt verständlicher beschrieben.
    Leider ist das für mich immer noch nicht ganz klar. Wie wählst Du eine Textbox aus? Durch einfaches Anklicken? Das würde dazu führen, dass Du nicht mehr in die TextBox reinklicken kannst, um sie mit Text zu befüllen. Mit Doppelklick? Dann wie oben gezeigt.
    Machen wir es anders. Woher kommt der Text in den Textboxen? Ist der vorgegeben? Oder durch den Benutzer veränderbar? Wie gesagt, ein Screenshot wäre gut. Eine Textbox ist intuitiv nicht dafür gedacht, dass ein "Auswählen" (wie auch immer das geschehen mag) eine Aktion auslöst. Wahrscheinlich ist ein anderes Benutzerseteuerelement dafür besser gedacht, aber dafür braucht es immer noch mehr Infos.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Für alle, die sich mit dem Thread beschäftigen: Der Anhang ist eine Word-Datei, die eine Screenshot enthält. Den hättest Du auch als sofort sichtbares Bild posten können, wäre praktischer gewesen.
    Du hast also eine Combobox, in der Deine TextBox-Texte drin stehen. Und wenn Du einen ComboBox-Eintrag auswählst, soll der im Dokument erscheinen. Das dreht die Sachlage ja schon mal in eine ganz andere Richtung.
    Dann hier ein Lösungsansatz:

    Visual Basic-Quellcode

    1. Private Sub ComboBox1_Change()
    2. Selection.MoveLeft Unit:=wdCharacter, Count:=1
    3. Selection.TypeText Text:=ComboBox1.Text
    4. End Sub
    5. Private Sub TextBox1_Change()
    6. If ComboBox1.ListCount > 0 Then ComboBox1.RemoveItem 0
    7. ComboBox1.AddItem TextBox1.Text
    8. End Sub


    Anhängig davon, wann Du den Text Deiner Textboxen in der ComboBox aktualisiert haben willst, ggf. einen anderen Event-Handler als TextBox1_Change() verwenden. Und dann eben auch in Abhängigkeit von der veränderten TextBox nicht das erste, sondern ggf. das 2. oder 3. ComboBox-Item löschen+neu hinzufügen bzw. ändern
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Ok, ich glaub ich hab bisher noch nie mit UserForms gearbeitet, aber trotzdem erstmal was geschafft. Auch wenn's nicht schön ist, funktioniert es erstmal.
    Auch wenn der Code schon alles sagt: ComboBox wird auf Knopfdruck (Button1) mit den eventuell vorhandenen Inhalten der TextBoxen gefüllt und nach Auswahl des passenden Textes in der ComboBox schließt sich derdiedas Userform. Und in Word wird der gewählte Text an vorhandenen angehangen.

    Visual Basic-Quellcode

    1. Private Sub ComboBox1_Change()
    2. Call WriteText
    3. End
    4. End Sub
    5. Private Sub WriteText()
    6. Documents(1).Content.InsertAfter ComboBox1.Value
    7. End Sub
    8. Private Sub CommandButton1_Click()
    9. ComboBox1.Clear
    10. If TextBox1.Text <> "" Then ComboBox1.AddItem TextBox1.Text
    11. If TextBox2.Text <> "" Then ComboBox1.AddItem TextBox2.Text
    12. If TextBox3.Text <> "" Then ComboBox1.AddItem TextBox3.Text
    13. End Sub
    14. Private Sub CommandButton2_Click()
    15. End
    16. End Sub
    Bilder
    • Form.png

      10,28 kB, 403×267, 80 mal angesehen
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.