Wenn-Dann in Word Formular...

Von: , Frage gestellt am Fr, 24. Jun 2005

Hallo,
also wie im Betreff schon erwähnt brauche ich Hilfe für ein Formular.
Ich habe ein Formular erstellt, in dem man mehrere zur Auswahl stehende Kästchen ankreuzen kann. Das letzte Kästchen heißt _____________, und soll, falls es nicht angekreuzt ist, auch weiter als Strich angezeigt werden. Falls man es aber ankreuzt, soll man Anstelle der Linie etwas eintragen können und der Strich soll verschwinden. Also quasi eine Wenn-Dann-Anweisung.

Momentan habe ich das Problem so gelöst, indem ich das Formularfeld, indem man den Namen eingeben soll, mit einen Vorgabetext belegt habe, nämlich den Unterstrichen. Das Problem ist aber dabei, wenn ich etwas eingebe, dann bleiben die übrigen Striche stehen und ich muss diese von Hand entfernen, sehr nervig.

Kann mir bitte jemand weiterhelfen?
Danke bereits im vorraus für Eure Hilfe

Gruß Christoph

4 Antworten zu dieser Frage

  1. Antwort von nach 27 Minuten 0 hilfreich
    Re: Wenn-Dann in Word Formular...

    Hallo,

    ein etwas ungewöhnlicher Vorschlag: besorge Dir Winword in der Version 6.0. Dort kann man Makros noch in Deutsch erstellen, ist ähnlich dem normalen Basic und leichter zu erlernen.

    Die so erstellten Makros werden von einer höheren Word-Version umgewandelt. Aber zum testen reicht Word 6.0.

    Leider ist es zu lange her, dass ich mit den Makros gearbeitet habe. Die Lösung deines Problems sehe ich so:

    Abfragen, ob angekreuzt

    falls ja, zu einer Textmarke springen (vorher natürlich definieren, auch beachten, ob der Dokumentenschutz aufgehoben werden muss), dann Text oder String einfügen.

    Unbedingt auf den Schutz des Dokumentes achten, nach Aufhebung des Dukuments dieses nicht wieder schützen, da dann die Eingaben in allen Formularfeldern zurückgesetzt werden. Im alten Word gab es die Funktion "Dokumentschützen" mit der 1 oder 2 dahinter. 1 = Werte in den Formularfeldern werden gelöscht, 2 = Werte werden nicht gelöscht.

    Das ist aber nur aus der Erinnerung heraus, keine Garantie.

    Gruss

    Andreas

    • Antwort von nach einer Stunde 0 hilfreich
      Re^2: Wenn-Dann in Word Formular...

      ÖÖhhhm, ne das ist dann doch ein bisschen viel Mühe. Mit anderes Word installieren ist so ne Sache, da ich das an der Arbeit brauche und sich unsere IT-Abteilung da ein wenig eng macht mit Software und so.
      Aber trotzdem Danke, vielleicht kann ja hier jemand der Makro-versiert ist auch ein passendes schreiben? (Nur wenn ihm langweilig ist)
      Ansonsten muss man halt Striche löschen, ist ja auch kein Beinbruch.

  2. Antwort von nach einem Tag 1 hilfreich
    Re: Wenn-Dann in Word Formular...

    Hallo,
    also wie im Betreff schon erwähnt brauche ich Hilfe für ein
    Formular.
    Ich habe ein Formular erstellt, in dem man mehrere zur Auswahl
    stehende Kästchen ankreuzen kann. Das letzte Kästchen heißt
    _____________, und soll, falls es nicht angekreuzt ist, auch
    weiter als Strich angezeigt werden. Falls man es aber
    ankreuzt, soll man Anstelle der Linie etwas eintragen können
    und der Strich soll verschwinden. Also quasi eine
    Wenn-Dann-Anweisung.

    Hallo Christoph,

    ich nehme an, das du ein Word-Formular meinst und kein VBA-Userform.
    Ich hab da jetzt etwas herumprobiert. Ich verwende WORD97; sollte aber kein Problem bei neueren Versionen sein. Mit dem Ergebnis bin ich nicht 100%-ig zufrieden, aber es ist akzeptabel. Die nachfolgenden Makros führen Aktionen aus, wenn das Kontrollkästchen per Maus angeklickt oder per Tasten angesteuert wird und wenn das Eingabefeld verlassen wird. Unter Option muß man für die Formularfelder die Makros bei Eintritt bzw. Verlassen des Feldes einstellen. Die Namen der Formularfelder muß Du natürlich an deine Verhältnisse anpassen.
    "Text1" und "Checkbox1" sind die von mir verwendeten Namen der Formularfelder im Beispiel.

    Sub Textbox1_verlassen()
    ' Aktionen, wenn das Textfeld verlassen wird
    If ActiveDocument.FormFields.Item("Text1").Result = "" Or _
    ActiveDocument.FormFields.Item("Text1").Result = _
    ActiveDocument.FormFields.Item("Text1").TextInput.Default Then
    ActiveDocument.FormFields.Item("Checkbox1").Result = False
    ActiveDocument.FormFields.Item("Text1").Result = _
    ActiveDocument.FormFields.Item("Text1").TextInput.Default
    End If
    End Sub
    Sub Checkbox1Klick()
    ' Aktionen, wenn das Kontrollkästchen angeklickt wird
    If ActiveDocument.FormFields.Item("Checkbox1").Result = True Then
    'Kontrollkästchen ist aktiviert
    If ActiveDocument.FormFields.Item("Text1").Result = _
    ActiveDocument.FormFields.Item("Text1").TextInput.Default Then
    ActiveDocument.FormFields.Item("Text1").TextInput.Clear
    End If
    Selection.GoTo What:=wdGoToBookmark, Name:="Text1"
    Else
    'Kontrollkästchen ist deaktiviert
    ActiveDocument.FormFields.Item("Text1").Result = _
    ActiveDocument.FormFields.Item("Text1").TextInput.Default
    End If
    End Sub
    Bei Mausbedienung funktioniert alles optimal, Bei Bedienung mit der Tastatur muß man ggf. den Inhalt des Eingabefeldes löschen, wenn man die Markierung wieder aufheben möchte.

    Als kleine Hilfe schicke ich Dir eine Beispiel-Datei mit weiteren Erläuterungen.

    Gruß
    Franz

    • Antwort von nach 2 Tagen 0 hilfreich
      Re^2: Wenn-Dann in Word Formular...

      Super, vielen Dank. Genau das ist es was ich haben wollte. Werde morgen gleich versuchen, ob ich es für mein Formular einbauen kann. Aber so, bei einem Probe-Text, hat es genauso funktioniert, wie es sollte.

      Noch mal vielen Dank Franz, mein Makro-König...

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!