[Word] ALLE Textformularfelder und Kontrollkästchen im Dokument leeren makro

denis666

Grünschnabel
Hallo,

hab wieder mal eine Frage zu VBA in word 2002

Und zwar handelt es sich um ein Formular mit vielen Textformularfelder und Kontrollkästchen, diese möchte ich gerne mittels makro leeren, bzw. deaktivieren (Kontrollkästchen).

einelne hab ich so gelöst:

ActiveDocument.FormFields("Text1").Result = ""

aber wie geht das wenn ich alle leeren möchten?

wie spreche ich ALLE an?


MFG

denis666
 

tombe

Erfahrenes Mitglied
Damit wurden bei mir alle Textfelder gelöscht (also der Inhalt) und alle Kontrollkästchen wurde wieder abgewählt:

Visual Basic:
Sub Felder_Leeren()

For Each Textformularfeld In ActiveDocument.FormFields
     Textformularfeld.Result = ""
Next Textformularfeld

End Sub
 

denis666

Grünschnabel
hm komisch,

da kommt als Meldung:

Lauzteitfehler 4120
falscher parameter



müsste aber eigentlich gehen

geht des noch auf ne andere mehtode?

gruß
 

tombe

Erfahrenes Mitglied
Komisch bei mir ging es so ohne irgendwelche Fehlermeldungen.

Aber dann versuche es mal so:

Visual Basic:
Sub Felder_Leeren()

For a% = 1 To ActiveDocument.FormFields.Count
    If ActiveDocument.FormFields(a%).Type = wdFieldFormCheckBox Then
        ActiveDocument.FormFields(a%).CheckBox.Value = False
    ElseIf ActiveDocument.FormFields(a%).Type = wdFieldFormTextInput Then
        ActiveDocument.FormFields(a%).Result = ""
    End If
Next a%


End Sub
 

denis666

Grünschnabel
Hey Tombe,

viele Dank, aus welchen Gründen auch immr finktionier das, aber auch nur für die Textformularfelder, für die Kontrollkästchen nicht....richtig komisch

hab praktisch jetz nur den code..:

Sub Felder_Leeren()

For A% = 1 To ActiveDocument.FormFields.Count
If ActiveDocument.FormFields(A%).Type = wdFieldFormTextInput Then
ActiveDocument.FormFields(A%).Result = ""

End If
Next A%

End Sub


Das funktionier einwandfrei.... warum dass mit den checkboxen nicht geht versteh ich dann aber auch nicht...

naja aber is schonmal ganz gut so, danke...
 

tombe

Erfahrenes Mitglied
Ist schon sehr merkwürdig das es bei dir damit auch nicht geht.

Gibt es irgendeine Fehlermeldung wenn du das Makro ausführst bzw. was passiert wenn du das Makro schrittweise ausführst und du in den IF-Block kommst?
Wird der Typ nicht erkannt oder wird "Value = False" ignoriert?
 

denis666

Grünschnabel
also wenn ich das mit den checkboxen drin lassen, bringt der mit hier ein fehler:

ActiveDocument.FormFields(a).CheckBox.Value = False

also wie du schon vermutest hats wird des nicht erkannt wahrscheinlich...

stimmt da was bei den verweisen nicht? hab da aber eiegtnlich die nötigen aktiviert..
 

tombe

Erfahrenes Mitglied
Jetzt wäre es interessant zu wissen welcher Fehler angezeigt wird. Wenn der Fehler in der obigen Zeile ausgelöst wird, dann heißt das ja das erkannt wird das es sich bei diesem Feld um eine Checkbox handelt.
Nur das Deaktivieren klappt dann wohl nicht, hier könnte wie gesagt helfen wenn ich wüßte welcher Fehler gemeldet wird.
 

denis666

Grünschnabel
oh ja hab ich vergessen hinzuschreiben...

also obige zeile ist markiert (ActiveDocument.FormFields(a%).CheckBox.Value = False)

und es kommt "Laufzeitfehler 4120 - falscher parameter"
 

tombe

Erfahrenes Mitglied
Sogar im Beispiel der Hilfe wird es so beschrieben wie es oben steht.

Habe mal ein bisschen nach der Fehlermeldung gesucht und einen Beitrag gefunden wo auch jemand alles mögliche versucht hat weil er die selber Meldung erhielt obwohl das Makro bei anderen fehlerfrei lief. Das Problem hier war das kein Benutzername in Word hinterlegt war!?

Manchmal sind es ja wirklich die merkwürdigsten Dinge die helfen. Sonst fällt mir im Moment nichts dazu ein.