- 帖子
- 561
- 主題
- 160
- 精華
- 0
- 積分
- 725
- 點名
- 0
- 作業系統
- WINDOWS
- 軟體版本
- xp
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 桃園
- 註冊時間
- 2014-9-10
- 最後登錄
- 2026-2-12
  
|
DEAR ALL 大大
1.如圖一內容.請教問題如下-
1.1 原程式選取C:\AAA\下符合改名的檔案改名後放到Rename資料夾內.原C:\AAA\下檔案不變.
1.2需求
C:\AAA\下符合改名的檔案改名後放到Rename資料夾內,然後移除C:\AAA\改名成功的檔案,
而C:\AAA\未成功或非此邏輯性的內的檔案繼續保留。
2.請教如何修改程式.煩不吝賜教 THANKS*10000
圖一
Sub test2()
Dim i As Integer
Dim FolderPath, original_file, rename_file As String
'選擇來源檔案資料夾
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "選擇檔案來源資料夾"
.Show
FolderPath = .SelectedItems(1) & "\"
Debug.Print FolderPath
End With
'清空EXCEL
If Worksheets(2).Range("A2") <> "" Then Worksheets(2).Range("A2:B" & Worksheets(2).Range("A65536").End(xlUp).Row) = "" '判斷是否有選擇來源資料夾
If FolderPath <> "" Then
original_file = Dir(FolderPath & "*.*")
i = 1
Do Until original_file = ""
i = i + 1
Worksheets(2).Cells(i, 1) = original_file
original_file = Dir
Loop
'資料夾不存在則新建
If Dir(FolderPath & "\Rename", vbDirectory) = "" Then MkDir FolderPath & "\Rename"
For i = 2 To Sheet2.Range("A65536").End(xlUp).Row
'修改第八碼
If Left(Worksheets(2).Range("A" & i), 12) Like "*" & "-" And Mid(Worksheets(2).Range("A" & i), 13, 3) = Sheet1.Cells(3, 4) Then
rename_file = Mid(Worksheets(2).Range("A" & i), 1, 12) & Sheet1.Cells(3, 5) & Mid((Worksheets(2).Range("A" & i)), 16)
Worksheets(2).Range("B" & i) = rename_file
Call FileSystem.FileCopy(FolderPath & Worksheets(2).Range("A" & i), FolderPath & "\Rename\" & rename_file)
End If
Next
Call CreateObject("WScript.Shell").Popup("更名完成。", 1, "系統訊息")
'開啟結果路徑
ActiveWorkbook.FollowHyperlink Address:=FolderPath + "\Rename\", NewWindow:=True
End If
End Sub |
|