word vba批量替换文件内容并批量修改文件名

最近在工作中遇到某一文件夹下的许多文件,名字和内容有大量需要替换,一个个手工替换很麻烦,于是修改了一段代码:

Sub 批量更改word要素编号及文件名() '此代码为指定文件夹中所有选取的WORD文件的进行格式设置
Dim MyDialog As FileDialog, vrtSelectedItem As Variant, Doc As Document
Dim NewName As String, thisPath As String
' On Error Resume Next '忽略错误
'定义一个文件夹选取对话框
Set MyDialog = Application.FileDialog(msoFileDialogFilePicker)
With MyDialog
    .Filters.Clear '清除所有文件筛选器中的项目
    .Filters.Add "所有 WORD 文件", "*.doc", 1 '增加筛选器的项目为所有WORD文件
    .AllowMultiSelect = True '允许多项选择
    If .Show = -1 Then '确定
        myPas = InputBox("请输入替换成的编号:")
        Application.ScreenUpdating = False
      
        For Each vrtSelectedItem In .SelectedItems '在所有选取项目中循环
          Set Doc = Documents.Open(FileName:=vrtSelectedItem, Visible:=False)
         'Doc.Name = Replace(Doc.Name, "流程编号+", myPas)
        Doc.ActiveWindow.Selection.Find.Execute "流程编号+", , , , , , , , , myPas, wdReplaceAll
        ' Doc.SaveAs FileName:=Replace(vrtSelectedItem, "流程编号+", myPas)
 
        Doc.Close True
        
        '修改文件名
                NewName = Replace(vrtSelectedItem, "流程编号+", myPas&" ")
                If NewName <> "" Then
                    Name vrtSelectedItem As NewName
                End If
         Next
        Application.ScreenUpdating = True

    End If
End With
Set Doc = Nothing  '释放变量
MsgBox "编号更改完毕,请检查", vbInformation
End Sub


  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个 VBA 的示例代码,可以批量获取指定文件夹下的所有文件名,并将文件内容写入 Excel 表格中。你可以根据自己的需求进行修改和调整。 ```VBA Sub BatchGetFileNameAndContent() Dim path As String Dim fileName As String Dim content As String Dim row As Integer '指定文件夹路径 path = "C:\test\" '新建一个Excel工作簿 Workbooks.Add '设置工作表名称 ActiveSheet.Name = "Files" '设置表头 Cells(1, 1) = "文件名" Cells(1, 2) = "文件内容" '获取文件名和内容并写入表格中 fileName = Dir(path & "*.*") row = 2 Do While fileName <> "" '获取文件名 Cells(row, 1) = fileName '获取文件内容 Open path & fileName For Input As #1 content = Input(LOF(1), 1) Close #1 Cells(row, 2) = content '进入下一行 row = row + 1 '获取下一个文件名 fileName = Dir() Loop End Sub ``` 在上述代码中,我们首先指定了要获取文件名和内容文件夹路径 `path`,然后新建了一个 Excel 工作簿,并在其中新建了一个名为 "Files" 的工作表。接下来,我们循环遍历该文件夹下的所有文件,通过 `Dir` 函数获取每个文件文件名,然后通过 `Open` 和 `Input` 函数获取文件内容,并将文件名和内容分别写入 Excel 表格中。最后,我们通过 `Close` 函数关闭文件,循环进入下一个文件。 注意,在使用这个代码之前,你需要先在 VBA 编辑器中打开工具->引用,勾选Microsoft Scripting Runtime库,否则会出现“类型不匹配”等错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值