vba程序 : 第一,首先将需要批量替换的多个Word文档放在同一文件夹下面。 第二,新建一空白Word文档,右击空白工具栏,单击“控件工具箱”,就可以看到屏幕上调出的控件工具箱。
提供一个方案给楼主参考,可以批量修改多个文档中某个指定文字的属性:
1、启动Word后,键入alt+f11打开vba编辑窗口;
2、选择菜单“插入->模块”,然后在代码编辑区中粘贴如下代码:
option explicit
const g_strrootpath = "c:\doCS\" ' 指定存放所有文件的目录,可以有子目录
const g_strtexttofind = "茶" ' 需要批量查找修改格式的文字内容
dim g_otargetfont as new font
' 主函数
SUb mAIn()
dim fso, ofolder
' 设置需要修改的字体属性
g_otargetfont.size = 18 ' 字号
g_otargetfont.color = wdcolorred ' 颜色
g_otargetfont.bold = true ' 是否加粗(true加粗,false正常)
g_otargetfont.italic = true ' 是否斜体(true斜体,false正常)
g_otargetfont.underline = wdunderlinedash ' 下划线风格
'... 设置其他字体属性
set fso = CReateobject("sCRipting.filesystemobject")
set ofolder = fso.getfolder(g_strrootpath)
changefontstyleForfileSUnderfolder fso, ofolder
msgbox "完成!"
end SUb
' 修改指定文件夹(递归)下面的所有Word文件中指定文字的格式
SUb changefontstyleForfileSUnderfolder(fso, ofolder)
dim oSUbfolder, ofile
For each oSUbfolder in ofolder.SUbfolders
changefontstyleForfileSUnderfolder fso, oSUbfolder
next
For each ofile in ofolder.files
documents.open ofile.path
changefontstyleForactivedocument
activedocument.close true
next
end SUb
' 修改当前打开文档里面所有指定文字的格式
SUb changefontstyleForactivedocument()
selection.startof wdstory
selection.find.clearFormatting
selection.find.replacement.clearFormatting
with selection.find
.text = g_strtexttofind
.replacement.text = "^&"
.replacement.font = g_otargetfont
.Forward = true
.wrap = wdfindcontinue
.Format = true
.matchcase = false
.matchwholeWord = false
.matchbyte = false
.matchallWordForms = false
.matchsoundslike = false
.matchwildcards = true
end with
selection.find.execute replace:=wdreplaceall
end SUb
3、修改代码开始处的两个参数:存放所有需要批量修改文档的根目录(下面可以包含子目录,比如“c:\doCS”),需要修改的文字(比如“茶”字,也可以是一个词或者句子);
4、修改“主函数”里面想要设置的字体属性,如字号、颜色、加粗、斜体、下划线,等等;
4、键入f5运行,直到看到“完成!”。
5、检查各个文档里面指定的文字是否已经被设置成了指定的格式。