欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

word多个文档替换内容

程序员文章站 2022-04-30 12:47:40
...

替换文件夹下所有文档的内容,需要替换的文档不能打开,采用宏进行批量替换,亲测成功,测试是word2016
根据简书作者改编https://www.jianshu.com/p/9d348b8015b6?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
第一步:新建一个Word并打开,点击工具栏视图–宏(下边的倒三角)–查看宏
word多个文档替换内容
第二步:填写一个文件名,点击创建
word多个文档替换内容
第三步:复制以下代码,替换新创建的宏代码(如果以前有宏注意不要误删),注意代码格式,保存

Sub CommandButton1_Click()
Application.ScreenUpdating = False  '关闭屏幕闪
Dim myFile$, myPath$, i%, myDoc As Object, myAPP As Object, txt$, Re_txt$
Set myAPP = New Word.Application
With Application.FileDialog(msoFileDialogFolderPicker) '允许用户选择一个文件夹
    .Title = "选择目标文件夹"
    If .Show = -1 Then
        myPath = .SelectedItems(1) '读取选择的文件路径
    Else
        Exit Sub
    End If
End With
myPath = myPath & ""
myFile = Dir(myPath & "\*.docx")
txt = InputBox("需要替换的文字:")
Re_txt = InputBox("替换成:")
myAPP.Visible = True '是否显示打开文档
Do While myFile <> "" '文件不为空
Set myDoc = myAPP.Documents.Open(myPath & "\" & myFile)
If myDoc.ProtectionType = wdNoProtection Then '是否受保护
    With myDoc.Content.Find
        .Text = txt
        .Replacement.Text = Re_txt
        .Forward = True
        .Wrap = 2
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = True
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=2
    End With
End If
myDoc.Save
myDoc.Close
myFile = Dir
Loop
myAPP.Quit '关掉临时进程
Application.ScreenUpdating = True
MsgBox ("全部替换完毕!")
End Sub

word多个文档替换内容
第四步:回到Word文档,点击视图–宏,运行宏
word多个文档替换内容
第五步:弹出窗口,选择需要替换文档的文件夹(文件夹下不会显示文件名)
word多个文档替换内容
第六步:要替换的文字
word多个文档替换内容
第七步:替换成
word多个文档替换内容
第八步:需要等待一会,显示全部替换完毕即可
word多个文档替换内容

相关标签: WORD