Đổi tên workbook hàng loạt nằm trong một thư mục. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

chuot0106

Thành viên gắn bó
Tham gia
20/1/13
Bài viết
2,567
Được thích
1,670
+ Em muốn nhờ các anh chị giúp em đoạn code đổi tên hàng loạt code theo 1 quy luật.
+ Ví dụ em có thư mục "Giup" trong đó có 4 File (.xls) giờ em muốn anh chị hộ em đoạn code để có thể đổi tên 4 File đó thành 4 File có tên, ví dụ giaiphapexcel1, giaiphapexcel2, giaiphapexcel3, giaiphapexcel4. Có thêm Input box để nhập tên cần đổi thì càng tốt. Công việc này được thực hiện tại 1 File Excel.
 

File đính kèm

+ Em muốn nhờ các anh chị giúp em đoạn code đổi tên hàng loạt code theo 1 quy luật.
+ Ví dụ em có thư mục "Giup" trong đó có 4 File (.xls) giờ em muốn anh chị hộ em đoạn code để có thể đổi tên 4 File đó thành 4 File có tên, ví dụ giaiphapexcel1, giaiphapexcel2, giaiphapexcel3, giaiphapexcel4. Có thêm Input box để nhập tên cần đổi thì càng tốt. Công việc này được thực hiện tại 1 File Excel.
mình đang sử dụng win 8 và thấy việc đổi tên file hàng loạt --> rất đơn giản !

1. Quét chọn các file cần đổi tên
2. kích chuột phải - Rename
3. nhập tên File - Enter

--> sẽ thấy thêm 1 số thứ tự phía sau.
doi ten hang loat.jpg

'------
nếu dùng code thì cũng có thể, nhưng có điều hơi phiền toái nếu 1 thư mục có vài trăm file và các file có định dạng khác nhau ---> phải liệt kê các đuôi file trước khi chuyển.
 
Lần chỉnh sửa cuối:
Upvote 0
mình đang sử dụng win 8 và thấy việc đổi tên file hàng loạt --> rất đơn giản !

1. Quét chọn các file cần đổi tên
2. kích chuột phải
3. nhập tên File - Enter

--> sẽ thấy thêm 1 số thứ tự phía sau.
View attachment 120918

'------
nếu dùng code thì cũng có thể, nhưng có điều hơi phiền toái nếu 1 thư mục có vài trăm file và các file có định dạng khác nhau ---> phải liệt kê các đuôi file trước khi chuyển.
Mình không dùng Win 8 bạn ạ.
Mình muốn nói thêm là các File của mình có cùng 1 đuôi XLS hoặc XLSX
 
Upvote 0
+ Em muốn nhờ các anh chị giúp em đoạn code đổi tên hàng loạt code theo 1 quy luật.
+ Ví dụ em có thư mục "Giup" trong đó có 4 File (.xls) giờ em muốn anh chị hộ em đoạn code để có thể đổi tên 4 File đó thành 4 File có tên, ví dụ giaiphapexcel1, giaiphapexcel2, giaiphapexcel3, giaiphapexcel4. Có thêm Input box để nhập tên cần đổi thì càng tốt. Công việc này được thực hiện tại 1 File Excel.
Bạn tham khảo file của bạn dhn46 có thể đáp ứng được nhu cầu của bạn (mà Topic này bạn cũng đã xem qua)
http://www.giaiphapexcel.com/forum/showthread.php?90985-Đổi-tên-file&p=568307#post568307
 
Upvote 0
+ Em muốn nhờ các anh chị giúp em đoạn code đổi tên hàng loạt code theo 1 quy luật.
+ Ví dụ em có thư mục "Giup" trong đó có 4 File (.xls) giờ em muốn anh chị hộ em đoạn code để có thể đổi tên 4 File đó thành 4 File có tên, ví dụ giaiphapexcel1, giaiphapexcel2, giaiphapexcel3, giaiphapexcel4. Có thêm Input box để nhập tên cần đổi thì càng tốt. Công việc này được thực hiện tại 1 File Excel.
Trước tiên dùng code này liệt kê hết các file có trong thư mục ra tại cột A
PHP:
Sub GetFileName()
Dim ObjFSO As Object, ObjFile As Object, Sarr(), I As Long
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
With ObjFSO.Getfolder(ThisWorkbook.Path)
   For Each ObjFile In .Files
      If ObjFSO.GetExtensionName(ObjFile.Name) Like "xls*" Then
         If Left(ObjFile.Name, 1) <> "~" 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
[A1].Resize(I) = Application.Transpose(Sarr)
End Sub
Sau đó nhập tên file mới vào cột B rồi chạy code đổi tên. Chỉ cần tên file mới, không nhập phần đuôi file.
PHP:
Sub ChangeFileName()
Dim Sarr(), I As Long, Path As String
Dim OFile As String, Ext As String
Path = ThisWorkbook.Path
Sarr = Range([A1], [B65536].End(3)).Value
For I = 1 To UBound(Sarr)
    OFile = Sarr(I, 1)
    Ext = Right(OFile, Len(OFile) - InStrRev(OFile, "."))
    With CreateObject("Scripting.FileSystemObject")
        .movefile Path & "\" & OFile, Path & "\" & Sarr(I, 2) & "." & Ext
    End With
Next
End Sub
 
Upvote 0
Mình không dùng Win 8 bạn ạ.
Mình muốn nói thêm là các File của mình có cùng 1 đuôi XLS hoặc XLSX

Win nào cũng vậy thôi:
- Click chuột chọn file cuối
- Bấm giữ phím Shift và chọn file đầu
- Bấm F2, gõ tên file tùy ý và Enter
- Các con số thứ tự sẽ tự điền vào

---------------
Bạn cũng có thể search google với từ khóa Fast file Renamer ---> Có cả thúng
 
Upvote 0
Trước tiên dùng code này liệt kê hết các file có trong thư mục ra tại cột A
PHP:
Sub GetFileName()
Dim ObjFSO As Object, ObjFile As Object, Sarr(), I As Long
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
With ObjFSO.Getfolder(ThisWorkbook.Path)
   For Each ObjFile In .Files
      If ObjFSO.GetExtensionName(ObjFile.Name) Like "xls*" Then
         If Left(ObjFile.Name, 1) <> "~" 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
[A1].Resize(I) = Application.Transpose(Sarr)
End Sub
Sau đó nhập tên file mới vào cột B rồi chạy code đổi tên. Chỉ cần tên file mới, không nhập phần đuôi file.
PHP:
Sub ChangeFileName()
Dim Sarr(), I As Long, Path As String
Dim OFile As String, Ext As String
Path = ThisWorkbook.Path
Sarr = Range([A1], [B65536].End(3)).Value
For I = 1 To UBound(Sarr)
    OFile = Sarr(I, 1)
    Ext = Right(OFile, Len(OFile) - InStrRev(OFile, "."))
    With CreateObject("Scripting.FileSystemObject")
        .movefile Path & "\" & OFile, Path & "\" & Sarr(I, 2) & "." & Ext
    End With
Next
End Sub
Nhờ anh QuangHai và các thầy các bạn xem giúp lại hộ em với. Khi em chạy đoạn code thứ nhất của anh thì nó báo lỗi sau:
Run-time error '5':
Invalid procedure call or argument
Em ấn vào Debug thì nó tô màu vàng dòng:
With ObjFSO.Getfolder(ThisWorkbook.Path)
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom