自动从 Word 文档中删除自定义样式,但保存格式

自动从 Word 文档中删除自定义样式,但保存格式

给定:一个 .doc(x) 文件,其中某些文本应用了自定义格式样式(例子)。

获取:一个格式与给定文件相同的 .doc(x) 文件,但未定义任何自定义样式(例子)。

我尝试转换为 .rtf,但不幸的是它保存了有关样式的信息。


“清除格式”命令会清除格式(重置为默认值),但我需要保存它。删除样式也会产生同样的效果(例子)这不是我想要的。

我只需要删除自定义样式,但保留格式。

答案1

如果您可以访问 Microsoft Excel:

  1. 在 Word 文档中全选
  2. 粘贴到 Excel(支持格式但不支持样式)
  3. 在 Excel 中仍选择内容(粘贴后)时,立即复制
  4. 粘贴回新的 Word 文档

我使用 Word 和 Excel 2010 对您的两个文档进行了测试;它保留了格式但删除了自定义样式。

编辑:对于发布的更复杂示例,请执行与上述相同的操作,但使用 WordPad 而不是 Excel。即复制 Word 中的所有内容,粘贴到 WordPad 中,然后在 WordPad 中选择所有内容并粘贴回新文档中。这对除页脚之外的所有内容都成功(在我的测试中),当然您可以单独执行(复制、粘贴,然后复制/粘贴回新文档的页脚)。

答案2

尝试以下操作(未经测试):

Sub DeleteUsedStyles()
    For Each sty In ActiveDocument.Styles
        If sty.InUse Then
            sty.Delete
        End If
    Next sty
End Sub

答案3

复制并粘贴到记事本中,然后复制并粘贴到新的 Word 文档中。在类似情况下,这种方法对我来说一直很有效,尤其是在 HTML 格式的 Outlook 电子邮件之间复制和粘贴时。

Word 还具有“选择性粘贴”选项,可以选择未格式化的文本,但该选项并非在所有情况下都可用。

相关内容