工作需要把几千个词在几百个文档里标出来,标成红色。本人写了一个词表,已经实现了在一个文档里标出所有关键词。希望能有高手帮忙给完善一下,实现对同一个文件夹里的word文档批量查找替换。
自己写的宏大概是这样的:(引号里就是要标出来的关键词)
Dim oDict, strKey
Set oDict = CreateObject("Scripting.Dictionary")
oDict.Add "高技术", "高技术"
oDict.Add "阳光央企", "阳光央企"
oDict.Add "见光死", "见光死"
oDict.Add "准入", "准入"
······‘此处省略一万个字
oDict.Add "电商", "电商"
······
For Each strKey In oDict.Keys
Selection.Find.ExecuteFindText:=strKey
Selection.Font.Color =wdColorRed
Selection.StartOfwdStory
Next Application.Move Left:=39, Top:=22 ActiveDocument.Save MsgBox "完成"End Sub
文件路径是D:\Docs,文件名各异
使用Dir函数,把你的文件夹中的word文档名全部找出来。然后用documents.open方法,逐个打开文档改字体颜色。
参考:
Dim MyDoc$open方法是这样:
Documents.Open FileName:=ThisDocument.Path & "\" & MyDoc
你自己整合一起吧,这就不多说了。
你的那些关键字,没必要用字典保存啊,用Array函数更方便了。
Dim KeyWords as Variant
KeyWords=Array("关键词1",“关键词2”,……)
追问忘说了,本人纯小白,本科学的文学。对这些都是经验的理解。希望大神给整合一下,怎么把我那个宏嵌套进去呢?ps,不用Array函数,是因为以后还要替换成英语。pps,文件路径是D:\Docs
这样还是不行啊,路径无效,或者只能替换已经打开的一个文档
Array函数和英语有什么冲突?
能用字典法玩,还算小白?
我本科未读。
我写的代码是个示例,你要自己改路径啊。
Dim MyDoc$
实在不行就发资料来看看,chenjiawei50到163
追问我真是0基础,这三部分要怎么结合起来呢?现在还是只能在打开的一个word里运行
把代码发过来啊~~~,不要我手敲啊。