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
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
Wow!!
Vielen vielen Dank Der.Olli!
ich war schon der Verweiflung nahe… Diese Methode hat funktioniert: einfach die sub „_DropButtonClick()“ anstatt der sub „_Click“
wunderbar, damit ist die Frage beantwortet.
Danke und viele Grüße
Mogerdo
Hallo Mogerdo,
gerne doch
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:
-
Öffne die datei in Word und drücke dann die Tastenkombination Alt-F11. Das öffnet die VBA-Umgebung.
-
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.
-
Es öffnet sich ein Fenster. Dort stellst Du links oben „Document“ ein und rechts wähslt Du „Open“.
-
Nun kannst Du in den bereitgestellten Subroutine-Rumpf „Private Sub Document_Open() … End“ reinprogrammieren, was beim Öffnen des Dokuments passieren soll.
-
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
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“
wunderbar, damit ist die Frage beantwortet.
vielen Dank und liebe Grüße
Mogerdo
Hallo,
ist Deine Frage noch aktuell?
Gruß
Manfred