如何删除 MS Word 中绘制的水平线

如何删除 MS Word 中绘制的水平线

我有一个 Word 文件,其中包含数百条通过“插入 > 形状 > 线条”绘制的水平线,该文档是使用早期版本的 MS Word(可能是 2000)创建的。(目前我正在使用 word 2016

我想一次删除所有这些行,但我无法选择每一行并点击删除数百行,因为我还有数百个文档。

有没有办法一次性从整个文档中选择并删除这些行?有任何解决方案吗?

在此处输入图片描述

感谢你的支持!

编辑:这是文件的链接测试水平线删除

答案1

看来我之前的回答中的代码没有将早期版本的 Word 中创建的水平线视为形状。所以它首先不会进入循环,所以删除这些线是没有问题的。但是我建议另一种解决方案。请尝试一下。但是请先备份您的文档。

首先通过 Office 2013/2016 版本保存此文档,将其转换为最新的 docx 或 docm 格式。请勿在兼容模式下工作,否则以下建议的选项可能不可用。

  1. 在主页功能区选项卡上转到查找 --> 高级查找
  2. 落下特别的并选择图形
  3. 查找文本框应包含的内容^g
  4. 转到“替换”,不输入任何内容,然后点击“替换”(逐个替换)或“全部替换”以一次性清除所有内容。

注意 - 这甚至可能取代任何其他图形。因此,在实施之前,请小心并先在您的文档上进行测试。

答案2

Sub 这在 Word 2007 中适用于通过边框>水平线插入的水平线,并且不会删除其他图形:

Sub DelHorizontalLines()
    ' deletes lines inserted by borders>horizontal line
Dim INLINE_SHAPE As InlineShape
    For Each INLINE_SHAPE In ActiveDocument.InlineShapes 'OR Selection.InlineShapes
         With INLINE_SHAPE
            If INLINE_SHAPE.Type = wdInlineShapeHorizontalLine Then
                    INLINE_SHAPE.Delete
            End If
        End With
    Next

End Sub

如果找不到您的线条,请删除并重新输入 =,然后在下拉框中找到正确的形状类型。

答案3

在包含 CTRL+A 然后 CTRL+C 行的文档中

打开新的 Word 文档

右键单击空白处 > 粘贴选项 > 仅保留文本

答案4

您可以探索下面提到的 VBA 代码来从您的 Word 文档中删除行。

首先将文档以最新的 Word 格式保存为 .docm(启用宏的 Word Doc)。

打开 DOS,按 ALT + F11 进入 VBA 编辑器。从插入菜单中,插入一个模块。将以下子程序代码粘贴到其中

Sub DelLines()

Dim H_Line As Shape

For Each H_Line In ActiveDocument.Shapes

    If H_Line.Type = msoLine Then
       H_Line.Delete
    End If

Next H_Line

End Sub

保存文档。在主文档中按 ALT + F8 并运行此宏。

请注意 - 宏在我的 Word 2013 上产生了一些不可预测的结果。它删除了除一行之外的所有行。重新运行宏会清除待处理的行。其次,宏似乎无法区分线和箭头。所以它也删除了箭头。它没有触及其他对象,如插入的图片或矩形。这是通过选择If H_Line.Type = msoLine Then部分代码来尝试的。

因此,在尝试任何操作之前,请备份您的原始文档。此外,我不太确定在 Word 2000 中创建的旧文档如何响应此代码(如果代码兼容)。试试看。

相关内容