Word 2013: Mehrzeiliges Auswahlfeld in Formular hinzufügen
Hallo Office-Profis,
ich erstelle bei uns in der Firma gerade eine Word-Vorlage in der verschiedene Auswahl-Dropdowns vorkommen. Allerdings habe ich momentan das Problem, dass ich ein mehrzeiliges Auswahl-Dropdown benötige. Leider habe ich keine entsprechende Funktion finden können.
Ansonsten habe ich noch das Element mit den Schnellbausteinen gefunden, damit würde sich das wohl auch realisieren lassen, allerdings wird diese Auswahl durch den Dokumentenschutz wieder abgeschaltet, so dass eine Auswahl bei "Ausfüllen von Formularen zulassen" nicht mehr möglich ist.
Hat jemand einen Rat für mich?
Danke!
ich erstelle bei uns in der Firma gerade eine Word-Vorlage in der verschiedene Auswahl-Dropdowns vorkommen. Allerdings habe ich momentan das Problem, dass ich ein mehrzeiliges Auswahl-Dropdown benötige. Leider habe ich keine entsprechende Funktion finden können.
Ansonsten habe ich noch das Element mit den Schnellbausteinen gefunden, damit würde sich das wohl auch realisieren lassen, allerdings wird diese Auswahl durch den Dokumentenschutz wieder abgeschaltet, so dass eine Auswahl bei "Ausfüllen von Formularen zulassen" nicht mehr möglich ist.
Hat jemand einen Rat für mich?
Danke!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 214286
Url: https://administrator.de/forum/word-2013-mehrzeiliges-auswahlfeld-in-formular-hinzufuegen-214286.html
Ausgedruckt am: 09.04.2025 um 17:04 Uhr
6 Kommentare
Neuester Kommentar
Du meinst wie in der Art der Schnellbausteine ? Also vordefinierte Texte die du in per DropDown auswählen kannst und dann eingefügt werden ?
Dies ließe sich nur via VBA mit einem Dialog nachbauen. Habe so was ähnliches schon mal gemacht. Dazu erstellt man via VBA einen Dialog, dann bindet man das "Betreten-Ereignis" eines Formularfeldes an einen Code der den Dialog aufruft in dem der Nutzer dann seinen Textbaustein auswählen kann.
Dies ließe sich nur via VBA mit einem Dialog nachbauen. Habe so was ähnliches schon mal gemacht. Dazu erstellt man via VBA einen Dialog, dann bindet man das "Betreten-Ereignis" eines Formularfeldes an einen Code der den Dialog aufruft in dem der Nutzer dann seinen Textbaustein auswählen kann.
Habe Dir dazu mal ein Demo-Dokument gebaut, welches beim Betreten eines Form-Feldes ein Makro aufruft das eine Userform darstellt indem sich ein Textfeld zum auswählen eines Bausteins aus dem Bausteinkatalog befindet. Mit einem Doppelklick wird der Inhalt dann in das Form-Feld eingefügt.
Um das Makro aufzurufen klickst du in das zweite Form-Feld im Dokument. Der Code wird immer dann aufgerufen wenn du den Focus auf das Feld setzt (also z.B. mit Tab in das Feld wechselst oder es mit der Maus aktivierst)
Zum aktivieren des Codes musst du eventuell nach dem aufrufen des Dokuments auf "Aktiven Inhalt aktivieren" klicken.
Das definieren deiner Textblöcke machst du dann mit den Standard-Tools von Word für Inhaltsblöcke.Speichern musst du die Inhaltsblöcke in der Vorlage auf der das Dokument basiert. Diese tauchen dann automatisch im Dialog auf.
Noch ein wichtiger Hinweis zu den Inhaltsblöcken. In dem Demo-Dokument werden nur die Inhaltsblöcke aus dem Template aufgelistet(Standardmäßig ist das Normal.dot). Wenn du z.B. willst das die Inhaltsblöcke die in "Building Blocks.dotx" enthalten sind aufgelistet werden musst du den Code in der Form durch diesen ersetzen:
Vielleicht hilft dir das bei deinem Formular ...
Grüße Uwe
Um das Makro aufzurufen klickst du in das zweite Form-Feld im Dokument. Der Code wird immer dann aufgerufen wenn du den Focus auf das Feld setzt (also z.B. mit Tab in das Feld wechselst oder es mit der Maus aktivierst)
Zum aktivieren des Codes musst du eventuell nach dem aufrufen des Dokuments auf "Aktiven Inhalt aktivieren" klicken.
Das definieren deiner Textblöcke machst du dann mit den Standard-Tools von Word für Inhaltsblöcke.Speichern musst du die Inhaltsblöcke in der Vorlage auf der das Dokument basiert. Diese tauchen dann automatisch im Dialog auf.
Noch ein wichtiger Hinweis zu den Inhaltsblöcken. In dem Demo-Dokument werden nur die Inhaltsblöcke aus dem Template aufgelistet(Standardmäßig ist das Normal.dot). Wenn du z.B. willst das die Inhaltsblöcke die in "Building Blocks.dotx" enthalten sind aufgelistet werden musst du den Code in der Form durch diesen ersetzen:
'the Template-Object where we get our "Building Blocks" from
Dim objBBTemplate As Template
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
strContent = objBBTemplate.BuildingBlockEntries(ListBox1.ListIndex + 1).Value
ActiveDocument.FormFields("txtFeld").Result = strContent
'Unload Form
Unload formContent
End Sub
Private Sub UserForm_Initialize()
ListBox1.Clear
Application.Templates.LoadBuildingBlocks
'Get "Building Blocks" Template
For i = 1 To Application.Templates.Count
If Application.Templates(i).Name = "Building Blocks.dotx" Then
Set objBBTemplate = Application.Templates(i)
Exit For
End If
Next
'List all Building Blocks
If Not objBBTemplate Is Nothing Then
For i = 1 To objBBTemplate.BuildingBlockEntries.Count
ListBox1.AddItem objBBTemplate.BuildingBlockEntries(i).Name
Next
Else
MsgBox "Building-Blocks Template not found"
End If
End Sub
Vielleicht hilft dir das bei deinem Formular ...
Grüße Uwe