Word VBA - Bestimmte Ebene einer Nummerierung markieren
Hallo!
In einer Word-Datei mit Nummerierungen möchte ich via VBA die zweite Ebene der Nummerierungen markieren (und dann weiterbearbeiten aber das ist hier nicht das Problem)
Die Datei sieht ungefähr so aus wie die angehängte Bilddatei.
Ich habe mir ein kleines Skript gebastelt, mit dem ich die komplette Nummerierung markieren kann aber bekomme es nicht hin, nur eine Ebene zu erwischen (z. B. die mit den Kleinbuchstaben vorneweg). Vermutlich fehlt mir nur ein kleiner Parameter, den ich noch in das Skript basteln muss (ich nehme an, in der "for"-Zeile), aber ich stehe total auf dem Schlauch.
Ich habe auch schon mit Google und in den Microsoft-Docs gesucht aber komme hier jetzt nicht weiter.
Vermutlich ist es ganz leicht und mir fehlt nur ein Tritt in die richtige Richtung.
Danke schon mal und schönen Abend
B.
In einer Word-Datei mit Nummerierungen möchte ich via VBA die zweite Ebene der Nummerierungen markieren (und dann weiterbearbeiten aber das ist hier nicht das Problem)
Die Datei sieht ungefähr so aus wie die angehängte Bilddatei.
Ich habe mir ein kleines Skript gebastelt, mit dem ich die komplette Nummerierung markieren kann aber bekomme es nicht hin, nur eine Ebene zu erwischen (z. B. die mit den Kleinbuchstaben vorneweg). Vermutlich fehlt mir nur ein kleiner Parameter, den ich noch in das Skript basteln muss (ich nehme an, in der "for"-Zeile), aber ich stehe total auf dem Schlauch.
Sub NummerierungMarkieren()
Dim varlstAufzaehlung As Word.List
For Each varlstAufzaehlung In ActiveDocument.Lists
varlstAufzaehlung.Range.Select
Next varlstAufzaehlung
End Sub
Ich habe auch schon mit Google und in den Microsoft-Docs gesucht aber komme hier jetzt nicht weiter.
Vermutlich ist es ganz leicht und mir fehlt nur ein Tritt in die richtige Richtung.
Danke schon mal und schönen Abend
B.

Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 514623
Url: https://administrator.de/forum/word-vba-bestimmte-ebene-einer-nummerierung-markieren-514623.html
Ausgedruckt am: 05.04.2025 um 11:04 Uhr
3 Kommentare
Neuester Kommentar
Servus @BaseBubble,
kein Problem:
Grüße Uwe
kein Problem:
Sub FormatSecondLevel()
Dim lst As List, pg As Paragraph
' Mit diesem Dokument arbeiten
With ThisDocument
' Für jede Liste im Dokument
For Each lst In .Lists
' für jeden Absatz der Listen-Absätze
For Each pg In lst.ListParagraphs
' Wenn List-Level = 2 formatiere entsprechend
If pg.Range.ListFormat.ListLevelNumber = 2 Then
pg.Range.Font.TextColor = vbRed
End If
Next
Next
End With
End Sub