Word Formular Dropdown Felder VB implementieren

hallo zusammen, ich hoffe, ihr könnt mir bei … folgender Frage weiterhelfen: ich habe mit microsoft word ein formular erstellt, inklusive activex-steuerelement combobox. unter visual basic habe ich drop-down elemente hinzugefügt. nach sub/userform ausführen F5 wurden die drop-down felder auch korrekt hinzugefügt. wenn ich das dokument allerdings speichere und erneut öffne, sind die drop-down elemente nicht mehr zu finden - der code im visual basic editor jedoch noch enthalten. nun meine frage: welche einstellungen muss ich vornehmen, damit die dopdown felder direkt beim öffnen verfügbar sind? viele Grüße

Du kannst z.B. den Code zum Füllen der Combobox in das „Activate“ Ereignis der Userform aufnehmen oder die Routine, die das macht, dort aufrufen.

Gruß Dieter

Hallo Dieter,

zunächst herzlichen Dank für deine Antwort :smile:
leider habe ich das erste mal mit VB zutun. Das was du antwortest klingt nach dem, was ich suche, kannst du mir beschreiben, wie ich deinen Rat umsetzen kann?
Was ist das „Activate“ Ereignis und wie nehme ich es in die Userform auf?
in der VB oder in der Word Oberfläche?

Meinst du die UserForm in der VB Oberfläche unter Einfügen -> UserForm?

Viele Grüße
Mogerdo

Hallo Mogerdo.

So auf die schnelle weiß ich keine Antwort.
Könntest du mir den Code mal zusenden?
[email protected]
Dann würd ich nachschauen, woran es liegt.

Grüße

Hallo Der.Olli,

ist im Grunde nichts besonderes… hier ist der Code:

Private Sub ComboBox5_Click()

ComboBox5.Clear

ComboBox5.AddItem „Vollzeit“

ComboBox5.AddItem „Teilzeit“

ComboBox5.AddItem „beurlaubt“

End Sub

hier sind 2 Screenshots von dem Dokument:
die VB-Oberfläche: Dort muss ich für den Code jeder Combobox einzeln auf Play gehen, damit die Elemente im Dokument erscheinen.
http://imageshack.us/photo/my-images/689/vboberflche…

hier die Combobox, die ich meine. Wenn ich den Code ausgeführt habe, kann ich dort Elemente auswählen. Wenn ich das Dokument Speichere und dann wieder öffne, sind keine Elemente mehr vohanden und ich muss den Code erneut ausführen.
http://imageshack.us/photo/my-images/717/dropdown.jpg/

Viele Grüße
Mogerdo

Hallo Mogerdo,

probier es mal in der Sub „_DropButtonClick()“:

Private Sub ComboBox5_DropButtonClick()
ComboBox5.Clear

ComboBox5.AddItem „Vollzeit“

ComboBox5.AddItem „Teilzeit“

ComboBox5.AddItem „beurlaubt“
End Sub

Dann durchläuft er diese Sub auf jedenfall.
Bei der anderen geht er gleich in den „Eintragsmodus“ für das Feld…

Grüße

1 Like

Wow!!

Vielen vielen Dank Der.Olli!

ich war schon der Verweiflung nahe… Diese Methode hat funktioniert: einfach die sub „_DropButtonClick()“ anstatt der sub „_Click“ :smile:

wunderbar, damit ist die Frage beantwortet.

Danke und viele Grüße
Mogerdo

Hallo Mogerdo,

gerne doch :smile:
Und viel Spaß und ERfolg noch.

Grüße

Hi,

schau mal ob dir die AutoOpen() Prozedur weiter hilft.
Mit der kann man beim Starten der Worddatei Makros ausführen bzw. UserForms starten.
Gruß
Thomas

VBA Makro automatisch starten?
Wenn ich das richtig verstehe, dann ist der Inhalt der Combobox beim nächsten öffnen verschwunden und Du musst das Makro zum Befüllen nochmals starten?
Beim Start einer Word Datei wird die Prozedur AutoOpen aufgerufen. Darin kannst Du Deine Prozedur aufrufen.
Anbei ein kleines Beispiel:

Sub AutoOpen()
FillCombo
End Sub

Public Sub FillCombo()
ComboBox1.AddItem „Zeile1“
ComboBox1.AddItem „Zeile2“
ComboBox1.AddItem „Zeile3“
ComboBox1.AddItem „Zeile4“
End Sub

Ich hoffe ich konnte helfen.
Viele Grüße Rainer

Hi Mogerdo

Wenn ich es richtig verstanden habe, hast du die Drop-Down-elemente im Quellcode eingefügt. Da Word den Code nicht automatisch beim Öffnen des Dokuments ausführt, musst du dies noch programmieren. Dies müsstest du mit einem neuen Modul mit dem Code

Sub AutoOpen()
 UserForm.Show
End Sub

erreichen können.

Gruß
Cas

Hallo Mogerdo,

ich hatte Deine ersten Ausführungen etwas falsch verstanden. Ich dachte, Du hast schon ein UserForm in Words Visual Basic erstellt. Aber, wenn ich es jetzt nochmal lese, meine ich verstanden zu haben, dass Du in Word (ohne Visual Basic) ein Formular entworfen hast. Da gehst Du folgendermaßen vor:

  1. Öffne die datei in Word und drücke dann die Tastenkombination Alt-F11. Das öffnet die VBA-Umgebung.

  2. Du siehst dann im Projekt-Explorer (falls er nicht angezeigt wird: Strg-R) Den Namen Deiner Datei und darunter irgendwo: ThisDocument. Darauf machst Du einen Doppelklick.

  3. Es öffnet sich ein Fenster. Dort stellst Du links oben „Document“ ein und rechts wähslt Du „Open“.

  4. Nun kannst Du in den bereitgestellten Subroutine-Rumpf „Private Sub Document_Open() … End“ reinprogrammieren, was beim Öffnen des Dokuments passieren soll.

  5. Aufpassen: Der Code wird nur ausgeführt, wenn die Sicherheitsstufe für die Makros so eingestellt ist, dass Makros ausgeführt werden! Das gilt auch, wenn Du die Datei an andere weitergibst!

Viel Erfolg und viele Grüße
Dieter

1 Like

Hallo Cas Al’Vjarr, hallo Rainer, hallo Thomas Schulz,

vielen Dank für eure kompetenten und ausführlichen Antworten!

Ich habe das Problem nun wie von Der.Olli geschildert gelöst:

Diese Methode hat funktioniert: einfach die sub „_DropButtonClick()“ anstatt der sub „_Click“ :smile:

wunderbar, damit ist die Frage beantwortet.

vielen Dank und liebe Grüße
Mogerdo

Hallo,

ist Deine Frage noch aktuell?

Gruß
Manfred