【发布时间】:2019-08-29 19:37:46
【问题描述】:
在本例中,我试图删除以某种颜色突出显示的特定 Word 文档中的所有内容; wdYellow。我在下面有一些代码可以打开 Word 文档,尝试查找突出显示的位置并相应地删除它。
Set wrdApp = New Word.Application
strFilePath = ThisWorkbook.Path
Set wrdDoc = wrdApp.Documents.Add(strFilePath & "\test.docx")
With wrdDoc.Content.Find
If .Highlight = wdYellow Then
.text = ""
End If
End With
wrdDoc.SaveAs (strFilePath & "\test.docx")
wrdApp.Quit
Set wrdDoc = Nothing
Set wrdApp = Nothing
所以这段代码在一定程度上可以工作...... 它实际上并没有找到任何带有 wdYellow 的亮点,所以它永远不会达到 .text = ""。但除此之外,它运行得很好。我相信错误与With wrdDoc.Content.Find 部分有关。谁能帮帮我?
【问题讨论】:
-
Word 的
find不能以这种方式与If一起使用。我建议您尝试在 Word UI (Ctrl+H) 中查找突出显示颜色并录制宏以获取基础知识。此外,您可以 try 使用Replace并替换为空(空字符串 - 替换框中没有条目)。不确定这是否适用于突出显示...如果它不起作用,请根据录制的宏尽可能多地使用它,然后用它更新您的帖子并描述它是如何不起作用的。