Word VBA - Überschriften bzw. Kapitel mit Steuerelement Kontrollbox hinzufügen und entfernen
Hallo zusammen,
nach einigen Stunden des Probierens und Googlens wende ich mich nun an euch in der Hoffnung das jemand eine Idee hat.
Ich habe ein Dokument das derzeit 10 Überschriften bzw. Kapitel hat die man in der Navigationsansicht auffinden kann.
Nun habe ich oben im Dokument eine Liste an Checkboxen (Steuerelemente).
Das SOLL so aussehen, das das Dokument bis auf der ersten Seite mit den Checkboxen leer ist. Setzt man nun eine Checkbox auf True, dann wird das entsprechende Kapitel am Ende des Dokuments eingefügt. Nehme ich das Häkchen wieder raus, dann soll das Dokument gelöscht werden.
Dabei werden die Texte als Autoteste gespeichert und in einer dotx hinterlegt, bzw. das Dokument in dem ich arbeite ist ein dotx.
Mit Mühe und Brechen habe ich dieses Stückchen Skript hinbekommen, sodass er mir am Ende des Dokuments schon mal was einfügt:
Der Else-Strang funktioniert nicht, da er den bookmark nicht findet. Ich bin mir aber auch nicht sicher ob das die richtige Herangehensweise ist :s
nach einigen Stunden des Probierens und Googlens wende ich mich nun an euch in der Hoffnung das jemand eine Idee hat.
Ich habe ein Dokument das derzeit 10 Überschriften bzw. Kapitel hat die man in der Navigationsansicht auffinden kann.
Nun habe ich oben im Dokument eine Liste an Checkboxen (Steuerelemente).
Das SOLL so aussehen, das das Dokument bis auf der ersten Seite mit den Checkboxen leer ist. Setzt man nun eine Checkbox auf True, dann wird das entsprechende Kapitel am Ende des Dokuments eingefügt. Nehme ich das Häkchen wieder raus, dann soll das Dokument gelöscht werden.
Dabei werden die Texte als Autoteste gespeichert und in einer dotx hinterlegt, bzw. das Dokument in dem ich arbeite ist ein dotx.
Mit Mühe und Brechen habe ich dieses Stückchen Skript hinbekommen, sodass er mir am Ende des Dokuments schon mal was einfügt:
Private Sub Document_ContentControlOnExit(ByVal kk As ContentControl, Cancel As Boolean)
With ActiveDocument
If kk.Tag = "Test" Then
If kk.Checked = True Then
Selection.EndKey Unit:=wdStory
Selection.InsertBreak Type:=wdPageBreak
Selection.TypeText "Antrag auf ..."
Selection.Range.InsertAutoText
Else
Dim strBookmark As String
strBookmark = "Antrag auf ..."
MsgBox Bookmarks.Count
If Bookmarks.Exists(Name:=strBookmark) Then
Bookmarks(Index:=strBookmark).Delete
End If
' Bookmarks("\HeadingLevel").Delete "Antrag auf "
End If
End If
End With
End Sub
Der Else-Strang funktioniert nicht, da er den bookmark nicht findet. Ich bin mir aber auch nicht sicher ob das die richtige Herangehensweise ist :s
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 561082
Url: https://administrator.de/forum/word-vba-ueberschriften-bzw-kapitel-mit-steuerelement-kontrollbox-hinzufuegen-und-entfernen-561082.html
Ausgedruckt am: 18.05.2025 um 06:05 Uhr
8 Kommentare
Neuester Kommentar
Hi,
ich denke, im "True"-Block musst Du das Bookmark erst definieren, damit Du es später finden kannst.
E.
ich denke, im "True"-Block musst Du das Bookmark erst definieren, damit Du es später finden kannst.
Private Sub Document_ContentControlOnExit(ByVal kk As ContentControl, Cancel As Boolean)
With ActiveDocument
If kk.Tag = "Test" Then
If kk.Checked = True Then
Selection.EndKey Unit:=wdStory
Selection.InsertBreak Type:=wdPageBreak
Selection.TypeText "Antrag auf ..."
Selection.Range.InsertAutoText
ActiveDocument.Bookmarks.Add Name:="Antrag auf ...", Range:=Selection.Range
Else
Dim strBookmark As String
strBookmark = "Antrag auf ..."
MsgBox Bookmarks.Count
If Bookmarks.Exists(Name:=strBookmark) Then
Bookmarks(Index:=strBookmark).Delete
End If
' Bookmarks("\HeadingLevel").Delete "Antrag auf "
End If
End If
End With
End Sub
E.