VBAmacros:Excel到Word文本replace

Excel中有简单的VBAmacros(2003)。 它查找单元格A $ N和B $ N,并将Word文档文本从B $ Nreplace为A $ N。

Sub Макрос1() Dim pathh As String, i As Integer pathh = "c:\1.doc" Dim pathhi As String Dim from_text As String, to_text As String Dim WA As Object, WD As Object Set WA = CreateObject("Word.Application") WA.Documents.Open (pathh) WA.Visible = True For oCell = 1 To 150 from_text = Range("B" + CStr(oCell)).Value to_text = Range("A" + CStr(oCell)).Value With WA .Activate With .Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = from_text .Replacement.Text = to_text .Execute Replace:=wdReplaceAll End With End With Next End Sub 

问题:在Word文档中这个脚本只能select文本,但不要replace。 不build议?

首先,我希望你有对Word对象库的引用: 参考Word

脚本实际上工作,我做了一些小的修改,并有这个工作,包括取代:

 Sub test1() Dim pathh As String Dim pathhi As String Dim oCell As Integer Dim from_text As String, to_text As String Dim WA As Object pathh = "C:\1.doc" Set WA = CreateObject("Word.Application") WA.Documents.Open (pathh) WA.Visible = True For oCell = 1 To 2 from_text = Sheet2.Range("B" & oCell).Value to_text = Sheet2.Range("A" & oCell).Value With WA .Activate With .Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = from_text .Replacement.Text = to_text .Execute Replace:=wdReplaceAll End With End With Next End Sub 

使用Excel VBA 7.0和Word 14.0对象库 With .Selection块需要稍微修改

  With .Selection.find .ClearFormatting .Execute FindText:=from_text, ReplaceWith:to_text, replace:=wdReplaceAll End With