Das geht im Word-Standard leider nicht... Man kann die Zeilennummern über die Formatvorlage "Zeilennummer" formatieren, aber das betrifft nur das Aussehen, nicht das Nummerierungsformat.
In eingeschränkter Form kann man das per Makro realisieren, das habe ich so ähnlich schon mal gemacht. Dabei kann man per Makro Zeilennummern zum gesamten Dokument hinzufügen oder entfernen. Die Nummern werden dabei einfach mit hängendem Einzug vor den Text geschrieben.
Das funktioniert mit dem Prinzip aber nur für Fließtext mit folgenden Einschränkungen:
nicht jede Zeile bekommt eine Nummer, sondern nur jeder Absatz (aber trotzdem mit korrekter Zeilennummer)
In Tabellen funktioniert das nicht
Nummerierte Absätze und Listenformate werden niocht berücksichtigt
Die Formatvorlage "Zeilennummer" muss entsprechend formatiert sein, damit ein einheitliches Aussehen gewährleistet ist.
Vielleicht reicht Dir das ja als Lösung aus:
' Zeilennummern hinzufügen
Sub addLineNumbers()
Dim abstandZumText As Integer, nummerierungsabstand
' Abstand in cm, um die die Zeilennummern nach links rausgezogen werden sollen
abstandZumText = 1
' Jede wievielte Zeile soll nummeriert werden?
nummerierungsabstand = 1
' Entfernen bestehender Zeilennummern
removeLineNumbers
Dim p As Paragraph, r As Range
Dim lineNum As Long, Offset As Long, oldLineNum As Long, oldOffsetLineNum As Long
' Jeden Absatz durchlaufen
For Each p In ActiveDocument.Paragraphs
' Nur nicht nummerierte Absätze außerhalb von Tabellen berücksichtigen
If Not p.Range.Information(wdWithInTable) _
And p.Range.ListFormat.ListTemplate Is Nothing Then
' Range-Objekt mit dem Text des Absatzes, ohne Absatzzeichen
Set r = p.Range
r.End = r.End - 1
'Zeilennummer auslesen und Offset vorheriger Seiten addieren
lineNum = r.Information(wdFirstCharacterLineNumber)
If lineNum < oldLineNum Then Offset = oldOffsetLineNum '
oldLineNum = lineNum
lineNum = lineNum + Offset
oldOffsetLineNum = lineNum
' Nur die Zeilen mit passendem Nummerierungsabstand nehmen
If lineNum Mod nummerierungsabstand = 0 Then
' Ergänzung der Zahl um fhrende Nullen, wenn nötig
numString = "" & lineNum
If lineNum < 10 Then numString = "0" & numString
If lineNum < 100 Then numString = "0" & numString
If lineNum < 1000 Then numString = "0" & numString
'Per hängenden Einzug die Zeilennummer nach vorne ziehen
p.Range.ParagraphFormat.FirstLineIndent = _
CentimetersToPoints(-1 * abstandZumText) _
- p.Range.ParagraphFormat.LeftIndent
' Zeilennummer mit Tabulator vor den Text einfügen
r.Text = numString & vbTab & r.Text
' Zeilennummer mit passendem Style versehen, damit alle Nummern gleich aussehen
r.End = r.Start + 5
r.Style = ActiveDocument.Styles("Zeilennummer")
End If
End If
Next p
End Sub
' Alle bereits eingefügten Zeilennummern entfernen
Sub removeLineNumbers()
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Style = ActiveDocument.Styles("Zeilennummer")
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "*"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
For Each p In ActiveDocument.Paragraphs
If Not p.Range.Information(wdWithInTable) _
And p.Range.ListFormat.ListTemplate Is Nothing Then
'Hängenden Einzug wieder herstellen
p.Range.ParagraphFormat.FirstLineIndent = 0
End If
Next p
End Sub