一、效果展示
1、所有原文档
2、运行代码后
所有文件夹中文档的标题被修,并且在标题前加上了数字
二、代码
注:批量替换子函数在我发表过的《用VBA编写自定义函数,结合通配符,批量排版Word文档的标题和字体,批量删除空行等》一文中有
Option Explicit
Sub 批量打开文件进行替换()
Dim FSO As Object
Dim 文件夹 As Object
'建立数组储存找到的文件名
Dim 文件名() As String
Dim 目标文件夹 As String
Dim f
Dim j As Integer
Dim Mydoc As Document
Dim 文件
目标文件夹 = "H:\用户\桌面\A"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set 文件夹 = FSO.GetFolder(目标文件夹)
For Each f In 文件夹.Files
If Right(f, 3) = "doc" Or Right(f, 4) = "docx" Then
ReDim Preserve 文件名(j)
文件名(j) = f
Debug.Print "文件名" & j & ":" & 文件名(j)
j = j + 1
Else: End If
Next
'打开文档
j = 0
For Each 文件 In 文件名
Set Mydoc = Documents.Open(FileName:=文件, ReadOnly:=False)
'对文档进行操作
Call 全部替换("今天关注", j & ":明天关注", True)
j = j + 1
Mydoc.Save
Mydoc.Close
Next
Set Mydoc = Nothing
End Sub