试图删除包含黄色突出显示文本的行

时间:2011-10-18 03:30:21

标签: vba ms-word

我有一份文件,我正在使用黄色突出显示的文字进行审核。我想要一个宏来完成并删除突出显示的行。到目前为止,这就是我所拥有的:

Sub hilight()
'
' hilight Macro
' removes lines in yellow hi-lighter

Dim p As Paragraph

For Each p In ActiveDocument.Paragraphs
    Dim holder As String
    If p.Range.Text = highlighted_text Then
        p.Range.Text = holder
    End If
Next p

End Sub

我需要知道如何给出突出显示的文本属性,以便我可以替换highlighted_text

1 个答案:

答案 0 :(得分:0)

这是一个解决方案。请注意,它仅替换整个段落突出显示为黄色的段落,而不仅仅是其中的一部分。有一些值得指出的事情:

  • 替换段落也会删除尾随换行符,因此我将其包含在占位符文本中
  • 由于正在添加换行符,如果你不向后循环段落,它将是一个无限循环(因此步骤-1)
  • 将所有变量置于循环之外
Sub ReplaceYellowParagrahps()

Dim p As Paragraph
Dim i As Long, count As Long
Dim placeholderText As String
placeholderText = "holder" & vblf

count = ActiveDocument.Paragraphs.count

For i = count To 1 Step -1
    With ActiveDocument.Paragraphs(i).Range
        If .HighlightColorIndex = wdYellow Then
            .Text = placeholderText
        End If
    End With
Next

End Sub