Hallo Ralf,
1. Also meines Wissens muss man die Elemente selektieren, damit man sie ausblenden kann.
2. Hier:
Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
'<-- Ausblenden von Tabellen und Tabellenzeilen via Dropdown -->
Dim valNr As Long, i As Long
If CC.Type = wdContentControlDropdownList Then
If CC.Tag = "ddArtRmStBez" Then
'Art der Räumstelle (Bezeichnung)
For i = 1 To CC.DropdownListEntries.count
If CC.DropdownListEntries(i).Text = CC.Range.Text Then
valNr = CC.DropdownListEntries(i).Value
End If
Next i
'Tabelle entsprechend des ausgewählten DropDown-Elements ausblenden
If valNr = 1 Then
collapseTable "tmFlaechRaeum", False, CC
Else
collapseTable "tmFlaechRaeum", True, CC
End If
If valNr = 2 Then
collapseTable "tmObFlaech", False, CC
Else
collapseTable "tmObFlaech", True, CC
End If
'... das geht hier so weiter bis Eintrag Nr. 9
End If
End If
End Sub
Function collapseTable(bm, collapse, currCC)
'************ Ausblenden von Tabellen *******************
'< Tabelle markieren >
Dim curTable As Table
Set curTable = ActiveDocument.Bookmarks(bm).Range.Tables(1)
Dim tableContentRange As Range
Set tableContentRange = curTable.Range.Rows(1).Range
tableContentRange.End = curTable.Range.End
tableContentRange.Select
'</ Tabelle markieren >
If collapse = True Then
'< ausblenden >
Selection.Expand Unit:=wdParagraph
Selection.Range.Font.Hidden = True
Selection.collapse wdCollapseEnd
'</ ausblenden >
Else
'< einblenden >
Selection.Expand Unit:=wdParagraph
Selection.Range.Font.Hidden = False
Selection.collapse wdCollapseEnd
'</ einblenden >
End If
'Gehe in die nächste Zeile (nach dem DropDown-Feld)
If ActiveDocument.Bookmarks.Exists("tmBndLnd") Then
Word.Selection.GoTo What:=wdGoToBookmark, Name:="tmBndLnd"
End If
End Function
3. Wenn ich es richtig verstehe, meinst Du beim Öffnen des Documentes auf false und beim Schließen wieder auf true, oder?
Gruß Jörg
|