急!怎么用VBA批量修改多个word文档里多个关键词的格式???

工作需要把几千个词在几百个文档里标出来,标成红色。本人写了一个词表,已经实现了在一个文档里标出所有关键词。希望能有高手帮忙给完善一下,实现对同一个文件夹里的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$
MyDoc = Dir("C:\Documents and Settings\user\My Documents\*.doc")
Debug.Print MyDoc
Do While MyDoc <> ""
    MyDoc = Dir
    Debug.Print MyDoc
Loop

open方法是这样:

Documents.Open FileName:=ThisDocument.Path & "\" & MyDoc

你自己整合一起吧,这就不多说了。

 

你的那些关键字,没必要用字典保存啊,用Array函数更方便了。

Dim KeyWords as Variant

KeyWords=Array("关键词1",“关键词2”,……)

追问

忘说了,本人纯小白,本科学的文学。对这些都是经验的理解。希望大神给整合一下,怎么把我那个宏嵌套进去呢?ps,不用Array函数,是因为以后还要替换成英语。pps,文件路径是D:\Docs
这样还是不行啊,路径无效,或者只能替换已经打开的一个文档

追答

Array函数和英语有什么冲突?

能用字典法玩,还算小白?

我本科未读。

我写的代码是个示例,你要自己改路径啊。

Dim MyDoc$
MyDoc = Dir("D:\Docs\*.doc")
Debug.Print MyDoc
Do While MyDoc <> ""
    MyDoc = Dir
    Debug.Print MyDoc
Loop

 

实在不行就发资料来看看,chenjiawei50到163

追问

我真是0基础,这三部分要怎么结合起来呢?现在还是只能在打开的一个word里运行

追答

把代码发过来啊~~~,不要我手敲啊。

温馨提示:答案为网友推荐,仅供参考
相似回答