Đổi tên nhiều file trong cùng 1 thư mục

Liên hệ QC

hcl_pt

Thành viên hoạt động
Tham gia
21/10/10
Bài viết
199
Được thích
10
GPE xem giúp đỡ có thể thực hiện được điều này không? Trong cùng 1 thư mục A: có 100 file: book1.xlsm; book2.xlsm;...; book100.xlsm. Nếu muốn đổi tên tất cả 100 file đó thành tên mới lần lượt theo thứ tự là: doiten1.xlsm; doiten2.xlsm;....; doiten100.xlsm thì có cách nào nhanh nhất thực hiện chỉ 1 lần (ngoài cách đổi tên thông thường thực hiện đổi tên cho từng file một mất rất nhiều thời gian)?
Rất mong GPE chỉ dẫn, xin cảm ơn rất nhiều!
 
GPE xem giúp đỡ có thể thực hiện được điều này không? Trong cùng 1 thư mục A: có 100 file: book1.xlsm; book2.xlsm;...; book100.xlsm. Nếu muốn đổi tên tất cả 100 file đó thành tên mới lần lượt theo thứ tự là: doiten1.xlsm; doiten2.xlsm;....; doiten100.xlsm thì có cách nào nhanh nhất thực hiện chỉ 1 lần (ngoài cách đổi tên thông thường thực hiện đổi tên cho từng file một mất rất nhiều thời gian)?
Rất mong GPE chỉ dẫn, xin cảm ơn rất nhiều!
Copy code này xài tạm. Cột A chứa tên các file cần đổi tên. Cột B chứa tên file mới. Lưu ý là phải có luôn phần định dạng
Ví dụ:
Cột A Cột B
File1.xlsx NewFile1.xlsx
PHP:
Sub ChangeFileName()
Dim path, Sarr(), I
path = ThisWorkbook.path
Sarr = Range([A1], [A65536].End(3)).Resize(, 2).Value
With CreateObject("Scripting.FileSystemObject")
   For I = 1 To UBound(Sarr)
      .movefile path & "\" & Sarr(I, 1), path & "\" & Sarr(I, 2)
   Next
End With
End Sub
 
Copy code này xài tạm. Cột A chứa tên các file cần đổi tên. Cột B chứa tên file mới. Lưu ý là phải có luôn phần định dạng
Ví dụ:
Cột A Cột B
File1.xlsx NewFile1.xlsx
PHP:
Sub ChangeFileName()
Dim path, Sarr(), I
path = ThisWorkbook.path
Sarr = Range([A1], [A65536].End(3)).Resize(, 2).Value
With CreateObject("Scripting.FileSystemObject")
   For I = 1 To UBound(Sarr)
      .movefile path & "\" & Sarr(I, 1), path & "\" & Sarr(I, 2)
   Next
End With
End Sub
Vâng! Xin Cảm ơn thầy Hải rất nhiều!
 
GPE xem giúp đỡ có thể thực hiện được điều này không? Trong cùng 1 thư mục A: có 100 file: book1.xlsm; book2.xlsm;...; book100.xlsm. Nếu muốn đổi tên tất cả 100 file đó thành tên mới lần lượt theo thứ tự là: doiten1.xlsm; doiten2.xlsm;....; doiten100.xlsm thì có cách nào nhanh nhất thực hiện chỉ 1 lần (ngoài cách đổi tên thông thường thực hiện đổi tên cho từng file một mất rất nhiều thời gian)?
Rất mong GPE chỉ dẫn, xin cảm ơn rất nhiều!
Theo mình nghĩ thì nên dùng code để lấy các file Excel trong thư mục ra trước, không lẻ tìm và gõ tay từng tên file?
Nếu thích thi copy code về tham khảo
PHP:
Sub ListAllFileName()
Dim ObjFSO As Object
Dim ObjFile As Object, Sarr(), I As Long
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
    With ObjFSO
      With .Getfolder(ThisWorkbook.path)
         For Each ObjFile In .Files
            If ObjFSO.GetExtensionName(ObjFile.Name) Like "xls*" Then
               If Left(ObjFile.Name, 2) <> "~$" Then
                  If ObjFile.Name <> ThisWorkbook.Name Then
                     ReDim Preserve Sarr(I)
                     Sarr(I) = ObjFile.Name
                     I = I + 1
                  End If
               End If
            End If
         Next
      End With
    End With
    [A1].Resize(UBound(Sarr) + 1) = Application.Transpose(Sarr)
End Sub
 
Web KT
Back
Top Bottom