Schleife bis zum Ende des Dokuments


2

Ich muss jede dritte Zeile eines Dokuments auswählen und den Text fett, unterstrichen und blau formatieren. Ich habe bereits den Code dafür, aber ich muss ihn eine bestimmte Anzahl von Malen durchlaufen.

Das Problem ist, alle Loops-Tutorials, die ich finde, verwenden Variablen oder Zustände, um dies zu tun, bis eine Bedingung erfüllt ist. Wie kann ich festlegen, dass diese Bedingung "am unteren Rand des Dokuments erreicht wird"?

Der Code, den ich eingerichtet habe, ist unten, und die eingeklammerten Zeilen sind das, womit ich Hilfe brauche:

Selection.HomeKey Unit:=wdStory

[Do the following code until the end of the document]

        Selection.HomeKey Unit:=wdLine
        Selection.EndKey Unit:=wdLine, Extend:=wdExtend
        With Selection.Font
            .Bold = wdToggle
            .Color = 12611584
            .Underline = wdUnderlineSingle
        End With

        Selection.MoveDown Unit:=wdLine, Count:=3

[end of loop]

Sehr grundlegende Frage. Ich bin damit vertraut, diese Arten von Schleifen in Excel zu setzen, aber im Wort kann ich es nicht verstehen. Ich schätze jeden, der sich Zeit nimmt, um zu antworten.

Antworten:


1

Das sollte funktionieren

Dim lastRow As Long
lastRow = ActiveDocument.BuiltInDocumentProperties("Number Of Lines")
MsgBox lastRow

BuiltInDocumentProperties KB

So etwas würde funktionieren und vom selben Typ sein for Schleife als Excel -

Sub CountLines()

Dim lastRow As Long
Dim i As Long
lastRow = ActiveDocument.BuiltInDocumentProperties("Number Of Lines")
For i = 1 To lastRow
    If i Mod 3 = 0 Then
        'Do Stuff
    End If
Next

End Sub

Oder um gründlicher zu sein -

Sub CountLines()

    Dim lastRow As Long
    Dim i As Long
    lastRow = ActiveDocument.BuiltInDocumentProperties("Number Of Lines")
    For i = 1 To lastRow
        If i Mod 3 = 0 Then
            ActiveDocument.Paragraphs(i).Range.Font.Bold = True
            'Do other stuff
        End If
    Next

End Sub
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.