秒删!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 = True
End Sub
遍历段落使用的方法是For...Each循环遍历:For Each oPara In ActiveDocument.Paragraphs
特殊情况
对于下面这种, 换行符【↓】引起的空行(按Shift+Enter键形成的空行),也成为软回车,用以上方法是不行的。我们要用新的方法。
对于手动换行符形成的空行,可在替换时选择【特殊字符】中的【手动换行(L)】 选项两次,即“查找内容”中输入2个"^l^l";替换为中输入"^P",空行即可删除。
替换为段落标记之后,再执行删除空行即可。
更多WordVBA知识,详见《WordVBA精讲课》
赞 (0)