- 帖子
- 248
- 主題
- 55
- 精華
- 0
- 積分
- 314
- 點名
- 180
- 作業系統
- XP / WIN7
- 軟體版本
- 2003 / 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- Tainan
- 註冊時間
- 2013-10-18
- 最後登錄
- 2026-9-25
             
|
回復 1# rouber590324
可以自己指定來源檔案資料夾
最後會把更名後的檔案放到Rename資料夾
試試附件吧 !- Option Explicit
- Private Sub File_Rename_Click()
- Dim i As Integer
- Dim FolderPath, original_file, rename_file As String
-
- ' On Error Resume Next
-
- '選擇來源檔案資料夾
- With Application.FileDialog(msoFileDialogFolderPicker)
- .Title = "選擇檔案來源資料夾"
- .Show
- FolderPath = .SelectedItems(1) & "\"
- Debug.Print FolderPath
-
- End With
- '清空EXCEL
- If Worksheets(1).Range("A2") <> "" Then Worksheets(1).Range("A2:B" & Worksheets(1).Range("A65536").End(xlUp).Row) = ""
-
- '判斷是否有選擇來源資料夾
- If FolderPath <> "" Then
-
- original_file = Dir(FolderPath & "*.*")
- i = 1
- Do Until original_file = ""
- i = i + 1
- Worksheets(1).Cells(i, 1) = original_file
- original_file = Dir
- Loop
- '資料夾不存在則新建
- If Dir(FolderPath & "\Rename", vbDirectory) = "" Then MkDir FolderPath & "\Rename"
- For i = 2 To Worksheets(1).Range("A65536").End(xlUp).Row
- '修改檔名
- If Left(Worksheets(1).Range("A" & i), 5) = "test1" And Mid(Worksheets(1).Range("A" & i), 7, 1) = "1" Then
-
- rename_file = Mid(Worksheets(1).Range("A" & i), 1, 6) & "2" & Mid((Worksheets(1).Range("A" & i)), 8)
-
- Worksheets(1).Range("B" & i) = rename_file
-
- Call FileSystem.FileCopy(FolderPath & Worksheets(1).Range("A" & i), FolderPath & "\Rename\" & rename_file)
-
- ElseIf Left(Worksheets(1).Range("A" & i), 5) = "test1" And Mid(Worksheets(1).Range("A" & i), 8, 1) = "製" Then
- rename_file = Mid(Worksheets(1).Range("A" & i), 1, 7) & Mid(Worksheets(1).Range("A" & i), 9)
-
- Worksheets(1).Range("B" & i) = rename_file
-
- Call FileSystem.FileCopy(FolderPath & Worksheets(1).Range("A" & i), FolderPath & "\Rename\" & rename_file)
-
- End If
- Next
- MsgBox "更名完成"
-
- '開啟結果路徑
- ActiveWorkbook.FollowHyperlink Address:=FolderPath + "\Rename\", NewWindow:=True
-
- End If
- End Sub
複製代碼
檔案重新命名.zip (15.62 KB)
|
|