主题:vf控制word的查找与替换
zhengxinhai
[专家分:30] 发布于 2009-07-07 17:52:00
word中有一段文字"我叫刘二",请问怎样用vf代码控制word文档使"刘二"变为"刘经为"呢?
谢谢!
回复列表 (共4个回复)
沙发
琅拿度 [专家分:2820] 发布于 2009-07-08 10:59:00
wj=getfile('doc')
IF wj==''=.f. and file(allt(wj))
err_fnd=.F.
ON ERROR err_fnd=.T.
OLEAPP=CreateObject("word.application")
IF err_fnd
MESSAGEBOX("找不到“word”程序,请先安装 Microsoft office。",16,"错误...")
QUIT
ELSE
OLEAPP.Documents.open(wj)
oleapp.visible=.t. &&可视
chazhao="刘二"
tihuan="刘经为"
xh=1
DO while xh=1
oleapp.Selection.Find.ClearFormatting
WITH oleapp.Selection.Find
.Text = chazhao
.Replacement.Text = tihuan
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
ENDWITH
oleapp.Selection.Find.Execute
IF allt(oleapp.Selection.text)=chazhao=.f.
xh=0
ELSE
oleapp.Selection.text=tihuan
oleapp.Selection.MoveLeft
ENDI
ENDDO
ENDI
ENDI
板凳
琅拿度 [专家分:2820] 发布于 2009-07-08 11:01:00
为了你的问题,我昨晚加班半小时,早上折腾两小时,哎,迟钝啊
3 楼
zhengxinhai [专家分:30] 发布于 2009-07-08 20:21:00
谢谢楼上老师,我在网上找了找,还可以用下列语句:
word.ActiveDocument.Content.Find.Execute("刘二",.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,"刘经为",2)
4 楼
琅拿度 [专家分:2820] 发布于 2009-07-09 09:37:00
自己动手丰衣足食啊
我来回复