Hallo!
Ich benutze die Version Word für Microsoft 365 MSO (16.0.14326.20908) 32-Bit und bin am verweifeln.
Mein Ziel ist es, ein (Rechtschutz-)Formular im Word zu erstellen, sodass meine KollegInnen ganz einfach diese Ansuchen ausfüllen können. Gleichzeitig sollen jedoch unnötige Tabellen verschwinden, damit nur das wesentliche ersichtlich ist und die JuristInnen in möglichst kurzer Zeit eine Übersicht erhalten.
Ich habe daher pro Thema eine Tabelle erstellt, wo jeweils (nicht in allen) in der Überschrift (Zeile 1) zwei Checkboxen in eigenen Zellen (Ja/Nein) eingebettet sind (also drei Spalten). Klickt man Nein, so verschwinden ab Zeile zwei alle darunter liegenden. Übrig bleibt z.B. eine Überschrift: Lohnexekution → Nein. Die Herausforderung, dass die Bearbeitung eingeschränkt ist, und diese für das Ein- und Ausblenden kurzzeitig entsperrt wird habe ich schon überwunden.
DOCH... drei Schönheitsfehler habe ich noch:
1. Kreuze ich Ja oder Nein an, so wird meine Bedingung, dass aus- oder eingeblendet wird zwar erfüllt, jedoch muss ich wieder zurück finden an die richtige Stelle, da ich aufeinmal ganz in einem anderen Teil des Dokuments in einem Textfeld lande.
2. Ist Nein angekreuzt und ich möchte auf Ja wechseln, so tauchen zwar meine dazugehörigen Tabellen auf, jedoch bleibt entweder Nein angekreuzt und lässt auch nicht mehr entfernen oder/und Ja lässt sich egal was ich tue nicht sichtbar ankreuzen → es passiert einfach garnichts!
3. Bei dieser Gelegenheit hätte ich auch noch gerne einen Tipp, wie ich Hilfstexte beim Drucken ausblenden kann. Ich habs in den Optionen versucht, jedoch löst sich der gesamte Inhalt und alle Texte aus dem Dokument einfach in Luft auf und aus dem Drucker kommen färbige Tabellen ohne Inhalt.
Ich hoffe, jemand kann mir helfen...
Option Explicit
Private Sub Document_ContentControlOnEnter(ByVal contentControl As contentControl)
'---------< Document_ContentControlOnEnter >--------
If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then
ActiveDocument.Unprotect
End If
If contentControl.Type = wdContentControlCheckBox Then
'----< IsCheckbox >----
'< init >
Dim activeCheckbox As contentControl
Set activeCheckbox = contentControl
Dim sCellText
sCellText = activeCheckbox.Range.Cells(1).Range.Text
'</ init >
'< Tabelle markieren >
Dim activeTable As Table
Set activeTable = activeCheckbox.Range.Tables(1)
Dim tableContentRange As Range
Set tableContentRange = activeTable.Rows(2).Range
tableContentRange.End = activeTable.Range.End
tableContentRange.Select
'</ Tabelle markieren >
If sCellText Like "*Nein*" Then
'< ausblenden >
Selection.Expand Unit:=wdParagraph
Selection.Range.Font.Hidden = True
Selection.Collapse wdCollapseEnd
'</ ausblenden >
activeTable.Rows(1).Cells(3).Range.ContentControls(1).Checked = False
ElseIf sCellText Like "*Ja*" Then
'< einblenden >
Selection.Expand Unit:=wdParagraph
Selection.Range.Font.Hidden = False
Selection.Collapse wdCollapseEnd
'</ einblenden >
activeTable.Rows(1).Cells(3).Range.ContentControls(1).Checked = False
End If
'----< IsCheckbox >----
End If
ActiveDocument.Protect Type:=wdAllowOnlyFormFields, NoReset:=True
End Sub
|