表格单元格内空行如何批量删除

您所在的位置:网站首页 word文档试题怎么排版 表格单元格内空行如何批量删除

表格单元格内空行如何批量删除

2023-05-06 11:58| 来源: 网络整理| 查看: 265

表格单元格内首行前的空行如何批量删除

以前在编辑排版word文档时遇到过这样的一个问题:

表格的单元格内存在许多空行,影响表格的排版,必须删除。如下图所示,这些空行有四种情形:(1)单元格内首行前的单个空行,(2)单元格内首行前的多个空行,(3)单元格内文本行间的空行,(4)单元格内末行后的空行。

方法一

这些空行非常多,逐个删除将非常耗时,且容易出错。首先想到的是使用查找替换的功能进行批量删除,表达式是这样的:

查找框内输入^p^p

替换框内输入^p

不勾选通配符

^p代表段落标记。点击多次“全部替换”后,发现(1)情况的空行无法删除;(2)情况最后会留下一个空行无法删除,就变成(1)情况;(4)情况也会留下一个空行无法删除。(3)情况的空行很好地删除了。

方法二

再想办法,更改表达式:

查找框内输入^13{2,}

替换框内输入^p

勾选通配符

^13也代表段落标志,不过可以在勾选通配符时在查找框内使用,^p是不行的。

点“全部替换”后,情况依旧。

方法三

想到表格单元格内至少都会有一个段落标志,就是不管怎么删除,表格单元格内总一个段落标志是删不了的。

更换表达式为:

查找框内输入^p

替换框内不输入

不勾选通配符

点击“全部替换”后,(1)(2)(4)情况的空行都删除了,只保留了一行,这是符合要求的。但是(3)情况中,不仅删除了两个空行,还多删除一个段落标记,使得两段并为一段了,这样不符合要求。看来这样的替换方式只合适于表格内容为单行的情况,多行是不合适的。

方法四

经过一番搜索、阅读,知道了一个用vba代码来删除空行的方法。代码来源于书本《WORD排版技术大全》(宋翔 著)14.2.5节。

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

运行之后,表格终于变得清爽了!

《word排版技术大全》全面讲解word排版的理论与技术,提供大量排版应用案例。对已经有了一定基础的word用户来说,是一次大的技能升级。

开通知乎盐选会员,以上电子书可以免费阅读,还有更多丰富的免费内容你可能感兴趣哦。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3