如何使用VBA删除Word文档中的空白页面?

时间:2018-08-14 03:13:07

标签: vba word-vba

Public Function DeleteBlankPages(wd As Word.Document)  
    Dim par As Paragraph
    For Each par In wd.Paragraphs
        If Len(par.Range.Text) <= 1 Then
            par.Range.Delete
        End If
    Next par       
End Function

我尝试了上面的代码段,但没有删除空白页。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

根据我的测试,如果您只想删除空白的Paragrph,我们可以将以下代码添加到您的VBA项目中。然后从运行

Sub main()
Set wd = ActiveDocument
   Dim par As Paragraph
    For Each par In wd.Paragraphs
        If Len(par.Range.Text) <= 1 Then
            par.Range.Delete
        End If
    Next par
End Sub

如果我们要删除空白页: 1.如果您知道页面索引,我们可以使用以下代码:

Set rgePages = Selection.Range
    Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=PageCount
    rgePages.End = Selection.Bookmarks("\Page").Range.End
    rgePages.Delete
  1. 如果您不知道空白页面的页面索引,则需要循环PageCollection并使用Trim处理页面文本,然后删除空白页面。 (但似乎Trim在Word中的Range文本上效果不佳)