秒删!Word空白行

代码三五行,工作不用忙断肠。

今天继续分享成熟直接可用代码,Word文档中如果存在多个空白行,我们该如何一次性快速删除呢?

这里我们讲2种方法:查找替换的方法和VBA代码的方法。

  • 查找替换法

Word中,回车符又称为段落标记,一个回车符表示一行结束,所以删除空行就是删除多余的回车符(段落标记)。

简单来说,就是把多个连续的回车符(段落标记)换成一个回车符,方法如下:

①打开【查找替换对话框】→选【择特殊格式】中的【段落标记】

②这里我们【查找内容】写1个^p,【替换的值】写1个^p。含义就是:把连续2个换行符替换为1个。

可能有人会问,为什么不是把1个^p替换为空。其实你可以尝试一下,如果替换为空,文档里面所有的换行符都被替换完了。

③点击【全部替换】,多点几次,直到所有的空行都被删除。

可能有的人觉得比较繁琐,下面咱们说代码的方法,一键搞定!

  • 代码的方法

    空白段落因为有一个换行符,所以长度是1。所以,我们以段落为基本单元,判断段落字符长度为1的段落,直接删除。

Sub 删除文档内的所有空行() Dim oPara As Paragraph, I As Long Application.ScreenUpdating = False For Each oPara In ActiveDocument.Paragraphs If Len(oPara.Range) = 1 Then oPara.Range.Delete i = i + 1 End If Next oPara MsgBox "已删除" & i & "个空行" Application.ScreenUpdating = TrueEnd Sub

遍历段落使用的方法是For...Each循环遍历:For Each oPara In ActiveDocument.Paragraphs

  • 特殊情况

    对于下面这种, 换行符【↓】引起的空行(按Shift+Enter键形成的空行),也成为软回车,用以上方法是不行的。我们要用新的方法。

对于手动换行符形成的空行,可在替换时选择【特殊字符】中的【手动换行(L)】 选项两次,即“查找内容”中输入2个"^l^l";替换为中输入"^P",空行即可删除。

替换为段落标记之后,再执行删除空行即可。

更多WordVBA知识,详见《WordVBA精讲课


(0)

相关推荐