基本要求:需安装word
function wordreplace(filename as string, searchstring as string, replacestring as string, optional savefile as string = "", optional matchcase as boolean = false) as integer
on error goto errormsg '函数运行时发生遇外或错误,转向错误提示信息
dim wordapp as new word.application
dim worddoc as new word.document
dim wordarange as word.range
dim wordselection as word.selection
dim replacesign as boolean
dim i as integer
'判断将要替换的文件是否存在
if dir(filename) = "" then
'替换文件不存在
msgbox "未找到" & filename & "文件" '提示替换文件不存在信息
wordreplace = -2 '返回替换文件不存在的值
exit function '退出函数
end if
set wordapp = createobject("word.application") '建立word实例
wordapp.visible = false '屏蔽word实例窗体
set worddoc = wordapp.documents.open(filename) '打开文件并赋予文件实例
set wordselection = wordapp.selection '定位文件实例
set wordarange = wordapp.activedocument.range(0, 1) '指定文件编辑位置
wordarange.select '激活编辑位置
i = 0 '初始化替换次数值
replacesign = true '初始化是否替换成功标志
do while replacesign
replacesign = wordarange.find.execute(searchstring, matchcase, , , , , , wdfindcontinue, , replacestring, true) '查找并替换
'判断查找并替换是否成功,如果成功替换次数值递增1
if replacesign = true then
i = i + 1
end if
loop
msgbox "已完成对文档的搜索并完成 " & i & " 替换。" '提示总替换次数
'如果替换成功,则提示是否保存
if i > 0 then
'判断是否需要另存
if trim(savefile) <> "" then
'需要另存
if dir(savefile) = "" then
worddoc.saveas savefile '文件另存为……
else
'咨询是否替换文件,如果不替换则放弃本次操作,否则存在本次操作
if msgbox("是否替换" & savefile & "文件?", vbyesno + vbquestion, "替换") = vbyes then
worddoc.saveas savefile '文件另存为……
end if
end if
else
if msgbox("是否保存对" & savefile & "更改?", vbyesno + vbquestion, "保存") = vbyes then
worddoc.save '保存在原文件中
end if
end if
end if
wordreplace = i '返回替换次数
worddoc.close '关闭文档实例
wordapp.quit '关闭word实例
set worddoc = nothing '清除文件实例
set wordapp = nothing '清除word实例
exit function
errormsg:
msgbox err.number & ":" & err.description '提示错误信息
wordreplace = -1 '返回错误信息值
worddoc.close '关闭文档实例
wordapp.quit '关闭word实例
set worddoc = nothing '清除文件实例
set wordapp = nothing '清除word实例
end function
注意事项:单击在菜单“工程”中的“引用”菜单项,弹出窗口,在列表框中选择“microsoft word x object libaray“,单击引用
在vb6.0+office xp+windows测试通过
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器