Làm cách nào để liệt kê tất cả các tệp trong thư mục và thư mục con vào một trang tính?
Bạn đã bao giờ cố gắng liệt kê tất cả các tên tệp từ một thư mục vào một trang tính bao gồm các tệp nằm trong các thư mục con của nó chưa? Trên thực tế, không có cách nào trực tiếp để chúng ta liệt kê tên tệp từ một thư mục và thư mục con của nó trong Excel, tuy nhiên, hôm nay, tôi sẽ giới thiệu một số thủ thuật nhanh chóng để giải quyết công việc này.
Liệt kê tất cả các tên tệp trong thư mục và thư mục con với mã VBA
Liệt kê tất cả các tên tệp trong thư mục và thư mục con với mã VBA
Thông thường, Excel không có tính năng tích hợp nào để giải quyết tác vụ này, nhưng bạn có thể áp dụng mã VBA sau để hoàn thành vấn đề này.
1. Kích hoạt một trang tính mới sẽ liệt kê các tên tệp.
2. Giữ ALT + F11 các phím trong Excel và nó sẽ mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
3. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.
Mã VBA: Liệt kê tất cả các tên tệp trong thư mục và thư mục con
Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
For Each xSubFolder In xFolder.SubFolders
ListFilesInFolder xSubFolder.Path, True
Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function
4. Sau khi dán mã vào Mô-đun, nhấn F5 phím để chạy mã này và Macros hộp thoại bật lên, chọn Danh sách chính tên macro, sau đó bấm chạy nút, xem ảnh chụp màn hình:
5. Và trong Xem cửa sổ, vui lòng chọn thư mục mà bạn muốn liệt kê tất cả các tên tệp bao gồm các thư mục con, xem ảnh chụp màn hình:
6. Sau khi chỉ định thư mục, hãy nhấp vào OK và tất cả các tên tệp trong thư mục và các thư mục con của nó đã được liệt kê trong trang tính hiện tại từ ô A2, hãy xem ảnh chụp màn hình:
Liệt kê tất cả các tên tệp trong thư mục và thư mục con một cách nhanh chóng và dễ dàng với Kutools cho Excel
Với đoạn mã trên, bạn chỉ có thể liệt kê tên tệp, đôi khi, bạn cần liệt kê các thuộc tính khác, chẳng hạn như kích thước tệp, loại tệp, thời gian được tạo, thư mục chứa, v.v. Kutools cho Excel chứa một chức năng hữu ích - Danh sách tên tệp, với tính năng này, bạn có thể nhanh chóng liệt kê tất cả hoặc các loại tên tệp cụ thể trong một thư mục và các thư mục con của nó.
Sau tải xuống và cài đặt Kutools cho Excel, vui lòng thực hiện theo các bước sau:
1. Nhấp chuột Doanh nghiệp > Nhập khẩu xuất khẩu > Danh sách tên tệp, xem ảnh chụp màn hình:
2. Trong Danh sách tên tệp hộp thoại, hãy thực hiện các thao tác sau:
A: Nhấp chuột nút để chọn thư mục mà bạn muốn liệt kê tên tệp;
B: Chỉ định loại tệp mà bạn muốn liệt kê từ Loại tệp phần;
C: Chọn một đơn vị kích thước tệp bạn muốn hiển thị từ Đơn vị kích thước tệp phần.
Chú thích: Để liệt kê các tên tệp từ thư mục con, vui lòng kiểm tra Bao gồm các tệp trong thư mục con, bạn cũng có thể kiểm tra Bao gồm các tệp và thư mục ẩn như bạn cần. Nếu bạn kiểm tra Tạo siêu liên kết tùy chọn, nó sẽ tạo siêu liên kết cho từng tên tệp và thư mục.
3. Sau đó nhấn vào OK , tất cả các tệp có trong thư mục đã chọn và các thư mục con của nó đã được hiển thị với các thuộc tính sau trong một trang tính mới. Xem ảnh chụp màn hình:
Bấm để biết thêm chi tiết về tiện ích Danh sách tên tệp này.
Tải xuống và dùng thử miễn phí Kutools cho Excel ngay!
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!