我有一个非常漫长而复杂的word文档(200多页),并希望提取所有使用某种样式格式化的内容,同时跳过文档的其余部分。只要您只需要找到一种样式就可以轻松实现 - 但我正在寻找可以提取各种样式的解决方案(即所有标题和所有格式为style2的文本)。
答案 0 :(得分:1)
如果您可以设法将所有测试复制到另一个文档然后运行它,那么这是一个好的开始 - 这是你可以循环并删除所有不符合你想要的样式的内容。
您可以执行一些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
答案 1 :(得分:0)
我尝试运行上面给出的代码,但它删除了所有内容 - 我认为在行中:
If InStr(1, okStyles, para.Style) = 0 Then
应该交换okStyles和para.Style来给出:
If InStr(1, para.Style, okStyles,) = 0 Then
当我这样做时,效果很好。