小程序:Word 文档批量查找/替换 (Visual Basic 6.0)

朋友接到其领导交付的一个体力活:要把好多个位于不同目录下面的 Word 文档里的敏感字眼替换掉,如“美国”换成“某国” …

对付文本文件的替换可以用 UltraEdit 来完成,暂时没找到有 Word 方面的工具,动手写了一个,简单实用,主要代码如下。

'--替换目录
Sub ReplaceDir(dir As String) Dim fso As New FileSystemObject, fo as Folder, fo1 as Folder, f as File Set fo = fso.GetFolder(dir) '--初始目录 For Each f In fo.Files If UCase(Right(f.Name, 4)) = ".DOC" And Left(f.Name, 1) <> "~" Then ReplaceFile (f.Path) End If Next For Each fo1 In fo.SubFolders ReplaceDir (fo1.Path) Next End Sub '--替换文件 Sub ReplaceFile(fileName As String) Dim doc As Object On Error Resume Next Set doc = GetObject(fileName) doc.Visible = False For i = 0 To UBound(aText) doc.ActiveWindow.Selection.Find.Execute "要替换的词", False, False, False, False, False, &_
               True, 1, False, "被替换的词", 2, False, True, False, False
         '稍微修改一下,可以实现多个词语的替换
     Next

doc.Save
doc.Close
Set doc = Nothing
End Sub

“小程序:Word 文档批量查找/替换 (Visual Basic 6.0)”的6个回复

评论已关闭。