如何从word文档中提取使用特定样式格式的文本?
问题描述:
我有一个非常长和复杂的单词文档(200多页),并且想要提取所有使用某种样式格式化的内容,同时跳过文档的其余部分。只要你只需要找到一种风格就很容易 - 但我正在寻找一种可以提取各种风格(即所有标题和所有格式为style2的文本)的解决方案。如何从word文档中提取使用特定样式格式的文本?
答
如果您可以设法将所有测试复制到另一个文档,然后运行这个很好,但这是一个很好的开始 - 这是如何循环并删除所有不是您想要保留的样式的所有内容。
你可以做一些if语句,而不是检查每个样式,但是使用所有OK样式的字符串并使用instr是很好的。
Sub DeleteUnwatedFormats()
Dim para As Paragraph
Dim okStyles As String
okStyles = "Normal, Heading1, Heading2" 'list up ok styles
For Each para In ActiveDocument.Paragraphs
If InStr(1, okStyles, para.Style) = 0 Then
para.Range.Delete
End If
Next
End Sub
答
我试图运行上面给出的代码,但它删除了一切 - 我认为在行:
If InStr(1, okStyles, para.Style) = 0 Then
okStyles和para.Style周围应换给:
If InStr(1, para.Style, okStyles,) = 0 Then
当我这样做,它工作得很好。
就像+1 :)一样简单:) – JMax