Hallo Forengemeinde,
leider ist es so weit gekommen, dass ich doch ein VBA Makro schreiben
muss.
Ich habe: ein Word-Dokument, in dem ich an vielen Stellen aus dem
Developer-Bereich Dropdowns platziert habe, welche alle zwei Einträge
enthalten. Anhand von einem Integer, der mal eins und mal zwei ist,
sollen alle Dropdowns in dem Dokument auf den ersten, bzw. zweiten
Eintrag gestellt werden.
Aktuell sieht der Code wie folgt aus:
1 | Sub FillDropDowns()
|
2 | Dim DropDownLine As Integer
|
3 | Dim aField As FormField
|
4 |
|
5 | If ActiveDocument.CustomDocumentProperties("Product").Value = True Then
|
6 | DropDownLine = 1
|
7 | Else
|
8 | DropDownLine = 2
|
9 | End If
|
10 |
|
11 | For Each aField In ActiveDocument.FormFields
|
12 | MsgBox aField.Result
|
13 | If aField.Type = wdFieldFormDropDown Then
|
14 | DropDownLine = DropDownLine + 1
|
15 | End If
|
16 | Next aField
|
17 | MsgBox DropDownLine
|
18 | End Sub
|
Aus dem Property "Product" wird DropDownLine korrekt gesetzt, die MsgBox
aField.Result erscheint aber nicht und DropDownLine zählt nicht mit
jedem gefundenen DropDown hoch. Ich scheitere also schon an der
For-Schleife.
Frage an euch: wie muss die Abfrage korrekt lauten, damit die Schleife
überhaupt über alle Objekte läuft, zu denen auch die Dropdowns gehören?
Vielen Dank schon einmal!