Jetzt registrieren!
Passwort vergessen?



 
 
 
--------------- --------------- ---------------


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.

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
> Artikelbaum anzeigen

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

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.

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

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...

Du kannst auf diesen Artikel nicht antworten.

Dieser Artikelbaum ist im Archiv des Experten-Forums von wer-weiss-was zum Thema "Textverarbeitung" archiviert. Es handelt sich um keine aktuelle Diskussion, daher kann auf die Artikel nicht mehr geantwortet werden.

Seite bei ... merken:
del.icio.us digg it facebook tausendreporter yigg it twitter alltagz google Mister Wong oneview Webnews yahoo linkarena coComment Lieblnk als Bookmark einfügen
Stelle deine Frage: