有时候我们需要对Word文档进行整理,比如要删除含有数字的段落,或者删除没有字符的段落(也就是空白段落)。这时候可以用逆序循环法,也就是从最后一个段落开始循环到第一个段落,把符合条件的段落都删除。
以下vba示例是一个删除word文档中含有数字的段落:
Sub QQ1722187970() Dim oDoc As Document Set oDoc = Word.ActiveDocument Dim oP As Paragraph '逆序遍历 For i = oDoc.Paragraphs.Count To 1 Step -1 Set oP = oDoc.Paragraphs(i) '判断段落文本是否含数字 If oP.Range.Text Like "*[0-9]*" Then Else oP.Range.Delete End If Next i End Sub
以下vba示例是一个删除word文档中重复内容的段落:
Sub QQ1722187970() Dim oDoc As Document Set oDoc = Word.ActiveDocument Set oDic = CreateObject("Scripting.Dictionary") Dim oP As Paragraph '逆序遍历 For i = oDoc.Paragraphs.Count To 1 Step -1 Set oP = oDoc.Paragraphs(i) sText = oP.Range.Text '判断是否重复,如果有重复就删除当前的段落 If oDic.Exists(sText) Then oP.Range.Delete Else oDic.Add sText, "" End If Next i End Sub
发表评论