技術(shù) 點
- 技術(shù)
- 點
- V幣
- 點
- 積分
- 1805
|
3#
發(fā)表于 2024-7-19 10:08:09
|
只看該作者
本帖最后由 ganlinlao 于 2024-7-19 10:23 編輯
@Roych 你的name語句代碼應(yīng)該是有瑕疵。
剛好也遇到需要 vba代碼 批量修改文件名。
遞歸無限級子文件夾,批量替換文件名。
Sub main()
RenameFiles Application.ActiveDocument.Path
End Sub
Sub RenameFiles(folderPath As String)
'引用 microsoft scripting runtime
Dim fso As New Scripting.FileSystemObject, myfolder As Folder, subFolder As Folder
Dim myFile As File, fileName As String, newName As String
' 循環(huán)遍歷文件夾內(nèi)的所有文件
For Each myFile In fso.GetFolder(folderPath).Files
' 獲取文件名
fileName = myFile.Name
If InStr(1, fileName, "免費") > 0 Then
' 根據(jù)需求修改文件名
newName = Replace(fileName, "【學習資源庫】免費分享", "")
' 修改文件名
Name folderPath & "\" & fileName As folderPath & "\" & newName
'不喜歡用Name語句,用下一行代碼也可以。
'myFile.Name = newName
End If
Next myFile
'遞歸子文件夾,批量處理
For Each subFolder In fso.GetFolder(folderPath).subfolders
RenameFiles subFolder.Path
Next
' 釋放對象
Set fso = Nothing
End Sub
|
|