续二:
利用excel来批量替换
Option Explicit
Sub excel中的批量替换() '利用excel来批量替换, '复制到excel的模块中,采用前期绑定 '形式是在excel的第一列第一行输入"查找",第二列第二行输入"替换" '从第二行开始为要查找的内容,和要替换的内容. '此替换包括通配符,若再改进为四列,则可以包括不使用通配的替换方式 '因为数组不熟,没有用数组,速度上面有问题,等以后改进 Dim xfind As Long, xrep As Long, a As Long Dim xfind1 As Long, xrep1 As Long Dim wd As Word.Application Dim doc As Word.Document Dim afind As String, arep As String xfind1 = Sheet1.Range("a65536").End(xlUp).Row xrep1 = Sheet1.Range("b65536").End(xlUp).Row '此为一对话框,可以不用 MsgBox "请注意查找与替换一一个对应,替换没有就是空!", vbOKCancel, "excelhome之家" '创建word的实例(打开Word程序) Set wd = New Word.Application '添加一个Word文档 Set doc = wd.Documents.Open(Filename:="d:\0768.doc") '要打开的Word文档,用户自已改 For a = 2 To xfind1 afind = Sheet1.Cells(a, 1).Value arep = Sheet1.Cells(a, 2).Value '查找替换在此Word文档中
With doc.Content.Find .ClearFormatting '清除格式 .MatchWildcards = True .Text = afind .Execute replacewith:=arep, Replace:=wdReplaceAll '根据定义进行全部替换 End With Next doc.SaveAs "d:\123.doc" '另存为一个文档,防止破坏原文档.如果你确定不要另存则可删除此句 '但保险起见,最好留着 doc.Close '释放变量 Set doc = Nothing Set wd = Nothing End Sub |