Saturday, May 30, 2026

VBA Word - Delete All Horizontal Lines from a Word document

Use the following VBA code to delete All Horizontal Lines from a Word document:
Sub DeleteAllHorizontalLines()

    Dim oPara As Paragraph
    Dim oShape As InlineShape
    
    ' --- PART 1: Remove Horizontal Lines that are Paragraph Borders ---
    ' Loop through every paragraph in the main document story
    For Each oPara In ActiveDocument.StoryRanges(wdMainTextStory).Paragraphs
        ' Set the bottom border style to "None"
        oPara.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
    Next oPara
    
    ' --- PART 2: Delete Horizontal Line Shapes (Drawings/Graphics) ---
    ' Loop through all Inline Shapes in the main document story
    ' We loop backwards in case multiple shapes are deleted in a row
    Dim i As Long
    For i = ActiveDocument.InlineShapes.Count To 1 Step -1
        Set oShape = ActiveDocument.InlineShapes(i)
        
        ' Check if the shape is a dedicated horizontal line object
        If oShape.Type = wdInlineShapeHorizontalLine Then
            oShape.Delete
        End If
    Next i

    MsgBox "All common horizontal lines have been removed!", vbInformation

End Sub

No comments:

Post a Comment

Hot Topics