我想删除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宏,这个问题可能很明显。
答案 0 :(得分:4)
问题在于,您要搜索的值“阿富汗”中有一个大写字母“A”,但您已将段落文本更改为全部小写。使用小写的“a”将您要搜索的值更改为“afghan”,它应该可以正常工作。