删除Word中不包含国家/地区名称的段落

时间:2015-03-03 15:44:11

标签: vba ms-word

我想删除Word文档中不包含我感兴趣的国家/地区名称的段落。根据本网站上另一个问题的答案,我想出了:

Sub DeleteParagraphContainingString()

    Dim search As String
    search = "Afghan"

    Dim para As Paragraph
    For Each para In ActiveDocument.Paragraphs

        Dim txt As String
        txt = para.Range.Text

        If Not InStr(LCase(txt), search) Then
            para.Range.Delete
        End If

    Next

End Sub

但是,这会删除文档中的每个段落。谁能告诉我如何解决它?

谢谢!我不太了解Word宏,这个问题可能很明显。

1 个答案:

答案 0 :(得分:4)

问题在于,您要搜索的值“阿富汗”中有一个大写字母“A”,但您已将段落文本更改为全部小写。使用小写的“a”将您要搜索的值更改为“afghan”,它应该可以正常工作。