Public mywdapp As Word.Application
Public mysel As Word.SelectionPrivate Sub Command1_Click()
Set mywdapp = CreateObject("word.application")
mywdapp.Documents.Open "d:\1.doc"
mywdapp.Visible = True
mywdapp.Activate
Set mysel = mywdapp.Selection
ReplaceChar "[1]","宁波"
End SubSub ReplaceChar(FindStr, RepStr)
    mysel.Find.ClearFormatting '运行到这句时,提示"无效的过程调用或参数"
    mysel.Find.Replacement.ClearFormatting
    With mysel.Find
        .Text = FindStr
        .Replacement.Text = RepStr
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = True
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    mywdapp.Selection.Find.Execute Replace:=wdReplaceAllEnd Sub不知道错在那里,请高人指点

解决方案 »

  1.   

    直接用Selection.Find.Text = FindStr  取消前面的定义
      

  2.   

    已经解决
    Public mywdapp As Word.Application
    Public mysel As ObjectPrivate Sub Command1_Click()
    Set mywdapp = CreateObject("word.application")
    mywdapp.Documents.Open ("d:\1.doc")
    mywdapp.Visible = True
    mywdapp.Activate
    Set mysel = mywdapp.ActiveDocument.Range(0, 0)
    mysel.Select
    ReplaceChar "[1]", "宁波"
    End SubSub ReplaceChar(FindStr, RepStr)
        mysel.Find.ClearFormatting
        mysel.Find.Replacement.ClearFormatting
        With mysel.Find
            .Text = FindStr
            .Replacement.Text = RepStr
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
       mysel.Find.Execute Replace:=wdReplaceAllEnd Sub但是我不大清楚为什么?
    mywdapp.ActiveDocument.Range(0, 0)获得的是Range对象,而find对象是在selection的啊?
      

  3.   

    Range对象有find对象,application.selection也有啊?为什么range的就行呢? 两者有什么区别啊?请高人指点
      

  4.   

    Set mysel = mywdapp.ActiveDocument.Selection