回 帖 发 新 帖 刷新版面

主题:vf控制word的查找与替换

word中有一段文字"我叫刘二",请问怎样用vf代码控制word文档使"刘二"变为"刘经为"呢?
谢谢!

回复列表 (共4个回复)

沙发

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

板凳

为了你的问题,我昨晚加班半小时,早上折腾两小时,哎,迟钝啊

3 楼

谢谢楼上老师,我在网上找了找,还可以用下列语句:
word.ActiveDocument.Content.Find.Execute("刘二",.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,"刘经为",2)

4 楼

自己动手丰衣足食啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册