分享

宏批量替换多个word指定文字

 主播晓峰 2023-02-03 发布于河南

1、新建一个word文本,点击”开发工具“菜单下的”宏“按钮(如没有开发工具可点击”视图“下的宏按钮)

2.输入名称后点击”创建“按钮

3.输入如下代码:

  1. Sub CommandButton1_Click()
  2. Application.ScreenUpdating = False '关闭屏幕闪
  3. Dim myFile$, myPath$, i%, myDoc As Object, myAPP As Object, txt$, Re_txt$
  4. Set myAPP = New Word.Application
  5. With Application.FileDialog(msoFileDialogFolderPicker) '允许用户选择一个文件夹
  6. .Title = "选择Word所在文件夹"
  7. If .Show = -1 Then
  8. myPath = .SelectedItems(1) '读取选择的文件路径
  9. Else
  10. Exit Sub
  11. End If
  12. End With
  13. myPath = myPath & ""
  14. myFile = Dir(myPath & "\*.docx")
  15. txt = InputBox("需要替换的文字:")
  16. Re_txt = InputBox("替换成:")
  17. myAPP.Visible = True '是否显示打开文档
  18. Do While myFile <> "" '文件不为空
  19. Set myDoc = myAPP.Documents.Open(myPath & "\" & myFile)
  20. If myDoc.ProtectionType = wdNoProtection Then '是否受保护
  21. With myDoc.Content.Find
  22. .Text = txt
  23. .Replacement.Text = Re_txt
  24. .Forward = True
  25. .Wrap = 2
  26. .Format = False
  27. .MatchCase = False
  28. .MatchWholeWord = False
  29. .MatchByte = True
  30. .MatchWildcards = False
  31. .MatchSoundsLike = False
  32. .MatchAllWordForms = False
  33. .Execute Replace:=2
  34. End With
  35. End If
  36. myDoc.Save
  37. myDoc.Close
  38. myFile = Dir
  39. Loop
  40. myAPP.Quit '关掉临时进程
  41. Application.ScreenUpdating = True
  42. MsgBox ("全部替换完毕!")
  43. End Sub

 

完成后点击 ”保存“,然后关闭

4.回到Word文档,点击宏,运行宏

5.按照向导进行替换过程,等待弹出”全部替换完毕“后即可。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多