表格单元格内空行如何批量删除 |
您所在的位置:网站首页 › word文档试题怎么排版 › 表格单元格内空行如何批量删除 |
表格单元格内首行前的空行如何批量删除 以前在编辑排版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 |