MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Word
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 04.01.2017, 16:51   #1
hape0306
Neuer Benutzer
Neuer Benutzer
Standard Word 2010 - Steuerelement: Mehrfachauswahl in Dropdown-Liste

Hallo zusammen,

Folgendes versuche ich zu realisieren:

Über eine Dropdown-Liste werden mehrere Begriffe angeboten. Es soll nun möglich sein, mehrere davon auszuwählen, die dann im Dokument angezeigt werden.

Über die Steuerelemente Kombinationsfeld bzw. Dropdown bekomme ich die Liste zwar auch dargestellt, jedoch ist immer nur 1 Begriff wählbar, nicht mehrere.

Habt ihr einen Tip für mich?

Viele Grüße
hape
hape0306 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2017, 18:35   #2
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo hape,

diesen Komfort bieten meines Wissens die Inhaltssteuerelemente nicht. Aber eine eine Active-X - Listbox schon. Die hat die Eigenschaft Multiselect, welche das mehrfache Auswählen von Einträgen erlaubt.

Die gewählten Einträge kannst du dann z.B. über einen CommandButton durchschleifen und irgendwo im Dokument eintragen lassen, nach diesem Strickmuster:
Code:

Private Sub CommandButton1_Click()
Dim i As Integer

For i = 0 To Me.ListBox1.ListCount - 1
        
        If Me.ListBox1.Selected(i) = True Then
            
            'z.B. am Ende des Dokuments eintragen
            ActiveDocument.Paragraphs.Last.Range = Me.ListBox1.List(i) & vbLf
        End If
 Next i
End Sub
Allerdings musst du diese Listbox auch per Makro füllen.

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.01.2017, 15:39   #3
hape0306
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Gerhard,

Vielen Danke für deine Antwort. Bin leider nicht vertraut mit diesen Techniken und habe daher noch Fragen dazu.

Ist mit CommandButton eine Schaltfläche gemeint, die im Dokument verankert sein muss?
Wie wird denn eine Listbox per Makro befüllt?. Hättest du dafür vielleicht ein Beispiel?

Viele Grüße
hape
hape0306 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.01.2017, 17:16   #4
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo hape,

ich hab dir ein Beispiel gemacht. Die Makros sind im angehängten Dokument enthalten. Das Übertragen ins Dokument musst du natürlich so lösen, wie es für dich passt. Es ist eben nur ein Beispiel.
Code:

Private Sub ListBox1_Click()
'Listbox mit Werten füllen

With Me.ListBox1
    'Mehrfachauswahl erlauben (geht auch über die Eigenschaften)
    .MultiSelect = fmMultiSelectMulti
    
    'jetzt erst mal die alten Einträge löschen:
    .Clear
    
    'dann die Listbox-Einträge einzeln zuweisen:
    .AddItem "Eins"
    .AddItem "Zwei"
    .AddItem "Drei"
    .AddItem "Vier"
    'den ersten Eintrag anzeigen
    .ListIndex = 0
End With
End Sub


Private Sub CommandButton1_Click()
'ausgewählte Einträge feststellen und übertragen
Dim i As Integer
Dim sammlung As String
Dim einfuegeBereich As Range


    'Einträge der Listbox durchschleifen,
    'dabei beachte: die Reihe der Einträge beginnt bei 0
    For i = 0 To Me.ListBox1.ListCount - 1
        
        With Me.ListBox1
            'wenn Eintrag ausgewählt
            If .Selected(i) = True Then
                'in die Sammlung aufnehmen
                sammlung = sammlung & .List(i) & ", "
                
            End If
        End With
    Next i
'letztes Komma löschen
sammlung = Left(sammlung, Len(sammlung) - 2)
    With ActiveDocument
        'Sammlung an Textmarke übertragen
        Set einfuegeBereich = .Bookmarks("einfügestelle").Range
        einfuegeBereich = sammlung
        
        'Textmarke wiederherstellen
        .Bookmarks.Add Name:="einfügestelle", Range:=einfuegeBereich
    End With
End Sub
Angehängte Dateien
Dateityp: docm ListboxMehrfachauswahl.docm (34,4 KB, 27x aufgerufen)

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.01.2017, 09:57   #5
hape0306
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Gerhard,

toller Service von dir, vielen Dank für deine Mühe. Werde versuchen, das jetzt umzusetzen.

Viele Grüße
hape
hape0306 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.02.2017, 09:18   #6
HUA
Neuer Benutzer
Neuer Benutzer
Standard und Word 2013

Hallo Gerhard,
ich war begeistert diesen Forumsbeitrag zu finden, genau das suche ich seit geraumer Zeit. Ich hab deinen Vorschlag gleich ausprobiert, geht aber irgendwie nicht in meiner Umgebung. Bei mir läuft Office 2013. Kann es daran liegen?

Bin ein totaler Laie was Codes anbetrifft...

Gruss
Andreas
HUA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.02.2017, 10:33   #7
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo Andreas,

ich hab das Dokument so geändert, dass die Listbox jetzt anlässlich des Startens des Dokuments gefüllt wird. Probier mal diese Version. Wenn es nicht klappt, bedenke, dass eine Fehlerbeschreibung wie "geht aber irgendwie nicht in meiner Umgebung" ziemlich nutzlos ist. Beschreibe was (nicht) passiert, z.B.
  • Listbox wird nicht gefüllt
  • kann keine Mehrfachauswahl treffen
  • Werte werden nicht übertragen
  • eine Fehlermeldung mit dem Text "..." erscheint etc.
Falls die Geschichte zwar in meinem Musterdokument, nicht aber in deinem Dokument funktioniert, lade dein Dokument hoch, bei Bedarf anonymisiert.

An Versionsunterschiede glaub ich noch nicht.
Angehängte Dateien
Dateityp: docm ListboxMehrfachauswahl2.docm (35,7 KB, 25x aufgerufen)

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 17.02.2017, 13:44   #8
HUA
Neuer Benutzer
Neuer Benutzer
Standard

Gerhard,
ist das cool. Im Musterdokument geht's nun, ich hab die Zeile ".Clear" gelöscht um die Einträge zu sehen und diese auch mal testhalber mit "realen" Einträgen ersetzt (was war eigentlich der Grund für "clear"?).
Natürlich muss ich jetzt das ganze noch in meine Dokumente übertragen und rausfinden wie ich die Grösse der Listbox in der Darstellung verändern und statt einer kommagetrennten Aufzählung die ausgewählten Einträge untereinander darstellen kann. Zu guter Letzt sollte nach dem Drücken des Command Button die Listbox verschwinden und nur noch der übertragene Text übrig bleiben.
Ich glaub jetzt wird's Zeit für den (Weiterbildungs-)Kurs...
Vielen Dank für deine Hilfe (und so schnell)
Grüsse Andreas
HUA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.02.2017, 17:37   #9
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo Andreas,

"ich hab die Zeile ".Clear" gelöscht..."

Die Zeile ist dazu da, damit das Listenfeld erst mal geleert wird, bevor es neu gefüllt wird (was ja in diesem Beispiel jedesmal bei Start eines neuen Dokuments automatisch erfolgt).

Wenn du diese Zeile löschst, werden die neuen Einträge jedesmal darunter angefügt, was ja wohl kaum gewünscht ist. Mach einfach mal das Listenfeld höher, dann siehst du das.

Wenn du aber eine Dokumentvorlage verwendest, deren Listenfeld von Haus aus leer ist, dann benötigst du diese Zeile nicht.

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:13 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.