gpt4 book ai didi

vba - 使用VBA删除Word Doc中的空白页

转载 作者:行者123 更新时间:2023-12-04 21:20:16 28 4
gpt4 key购买 nike

尝试编写一个函数来删除 Word 文档中的空白页。什么都不会被删除。如果有人可以看一下,我将不胜感激。

Public Function DeleteBlankPages(wd As Word.Document, wdApp As Word.Application)  
Dim par As Paragraph
For Each par In wd.Paragraphs
If IsEmpty(par.Range.Text) Then
par.Range.Select
wdApp.Selection.Delete
End If
Next par
End Function

最佳答案

在 VBA 语言引用中查找 IsEmpty 的定义。它并不像您想象的那样。

判断是否有文字内容的正确方法是看字符数。在 VBA 中,这通常使用函数 Len (=length) 完成。您可能认为比较应该为 0(零),但对于段落而言情况并非如此,因为 Word 段落始终包含它的段落标记 (ANSI 13)。

此外,不需要选择段落或范围来删除它,只需在par.Range 上直接使用Delete方法>。 (这意味着您也不需要传递 Word.Application 对象。

另请注意,您的代码不会对页面执行任何操作,只会对段落执行任何操作...它可以删除空页,具体取决于内容的格式设置,但重命名功能并评论它应该如何工作。

更像这样:

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

关于vba - 使用VBA删除Word Doc中的空白页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37219340/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com