Note: The other languages of the website are Google-translated. Back to English

 Làm cách nào để liệt kê tất cả các tên tệp trong một thư mục và tạo siêu liên kết cho chúng trong Excel?

Đối với công việc hàng ngày của mình, bạn có thể cần nhập nhiều tên tệp từ một thư mục vào trang tính và tạo siêu liên kết cho từng tệp để mở tệp nhanh chóng và dễ dàng. Có thể, bạn có thể sao chép và dán các tên tệp và tạo siêu liên kết cho nó theo cách thủ công, nhưng điều này sẽ lãng phí nhiều thời gian nếu có hàng trăm tệp trong thư mục. Hôm nay, tôi sẽ nói về một số phương pháp nhanh chóng và thú vị để giải quyết công việc này.

Liệt kê tất cả các tên tệp trong một thư mục và tạo siêu liên kết bằng mã VBA

Liệt kê tất cả các tên tệp trong một thư mục và tạo siêu liên kết với Kutools cho Excel


Để liệt kê và tạo siêu liên kết với các tệp từ một thư mục, mã VBA sau đây có thể giúp bạn.

1. Kích hoạt một trang tính mới để đặt kết quả.

2. Giữ ALT + F11 phím để 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 Mô-đun Cửa sổ.

VBA: Liệt kê tất cả các tên tệp trong một thư mục và tạo siêu liên kết

Sub Example1()
'Updateby Extendoffice
    Dim xFSO As Object 
    Dim xFolder As Object
    Dim xFile As Object
    Dim xFiDialog As FileDialog
    Dim xPath As String
    Dim I As Integer
    Set xFiDialog = Application.FileDialog(msoFileDialogFolderPicker)
    If xFiDialog.Show = -1 Then
        xPath = xFiDialog.SelectedItems(1)
    End If
    Set xFiDialog = Nothing
    If xPath = "" Then Exit Sub
    Set xFSO = CreateObject("Scripting.FileSystemObject")
    Set xFolder = xFSO.GetFolder(xPath)
    For Each xFile In xFolder.Files
        I = I + 1
        ActiveSheet.Hyperlinks.Add Cells(I, 1), xFile.Path, , , xFile.Name
    Next
End Sub

4. Sau đó nhấn F5 để chạy mã này và chọn thư mục mà bạn muốn liệt kê các tệp từ Xem cửa sổ, xem ảnh chụp màn hình:

doc danh sách tạo siêu liên kết 1

5. Sau khi chỉ định thư mục, hãy nhấp vào OK và tất cả các tệp trong thư mục cụ thể đã được liệt kê vào trang tính hoạt động với các siêu liên kết, xem ảnh chụp màn hình:

doc danh sách tạo siêu liên kết 2

Chú thích: Nếu có các thư mục con trong thư mục cụ thể của bạn, các tệp trong thư mục con sẽ không được liệt kê.


Để liệt kê tất cả các tệp cả trong một thư mục và các thư mục con của nó và các siêu liên kết đã tạo cho mỗi tệp, Kutools cho Excel'S Danh sách tên tệp có thể giúp bạn một việc. Với tính năng này, tất cả các tệp trong thư mục và thư mục con sẽ được liệt kê cùng một lúc với một số thuộc tính, chẳng hạn như tên tệp, kích thước tệp, thời gian được tạo, thư mục chứa, v.v.

Kutools cho Excel : với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày.

Nếu bạn đã cài đặt Kutools cho Excel, vui lòng thực hiện theo các bước sau:

1. Nhấp chuột Kutools Plus > 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 tạp chí Danh sách tên tệp hộp thoại, vui lòng thực hiện các thao tác sau:

(1.) Nhấp vào doc danh sách tạo siêu liên kết 5 để chọn thư mục mà bạn muốn liệt kê các tên tệp;

(2.) Kiểm tra Bao gồm các tệp trong thư mục con nếu bạn muốn liệt kê tên tệp trong các thư mục con, hãy kiểm tra Bao gồm các tệp và thư mục ẩn nếu bạn muốn liệt kê các tệp ẩn;

(3.) Chỉ định các loại tệp mà bạn muốn tìm và liệt kê trong Loại tệp phần;

(4.) Chọn đơn vị kích thước tệp mà bạn muốn hiển thị;

(5.) Kiểm tra Tạo siêu liên kết ở dưới cùng bên trái của hộp thoại.

Tải xuống Kutools cho Excel ngay!

3. Sau đó nhấn vào Ok và tất cả các tệp trong thư mục và thư mục con đã được liệt kê trong một trang tính mới với các siêu liên kết khi bạn cần, xem ảnh chụp màn hình:

doc danh sách tạo siêu liên kết 6

Nhấp để biết thêm chi tiết về tiện ích Danh sách tên tệp…

Tải xuống và dùng thử miễn phí Kutools cho Excel ngay!


Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay!

Bài viết liên quan:

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?


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

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!
officetab dưới cùng
Nhận xét (15)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chạy mã VBA được liệt kê ở trên, cho thấy thư mục đã chọn trống, khi nó chứa đầy các tệp Excel.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tuyệt vời .. cảm ơn rất nhiều. Nó thực sự tiết kiệm thời gian của tôi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Rất cảm ơn mặc dù không thể xem các tệp trong thư mục đã chọn như barry đã nói, nhưng dù sao thì nó cũng tạo ra các siêu liên kết cho tất cả các tệp trong thư mục đó.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
"VBA: Liệt kê tất cả các tên tệp trong một thư mục và tạo siêu liên kết" thật tuyệt! Nó hoạt động hoàn hảo! Cảm ơn đã đăng bài viết! Một câu hỏi ... Bây giờ bạn đã cho chúng tôi biết cách thêm liên kết từ thư mục, liệu có thể sử dụng các liên kết đó để lấy thông tin từ một hoặc hai trang tính khác nhau trong mỗi tệp được liệt kê không? Chúng sẽ là các ô giống nhau cho mỗi tệp mà chúng ta có danh sách. Điều này sẽ giúp tạo ra một nội dung toàn diện với các liên kết hoạt động đến các tên tệp khó hiểu.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm cách nào để thay đổi mã này để nó liệt kê tên thư mục thay vì tên tệp? Và tôi sẽ thay đổi nó như thế nào để kiểm tra các thư mục con cho các tệp?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Ellie,
Để liệt kê tất cả các tên thư mục và thư mục con từ một thư mục, mã VBA dưới đây có thể giúp bạn, hãy thử, hopt nó có thể giúp bạn.

Sub FolderNames ()
Application.ScreenUpdating = Sai
Dim xPath dưới dạng chuỗi
Làm mờ xWs dưới dạng trang tính
Dim fso As Object, j As Long, folder1 As Object
Với Application.FileDialog (msoFileDialogFolderPicker)
.Title = "Chọn thư mục"
.Chỉ
Kết thúc với
On Error Resume Next
xPath = Application.FileDialog (msoFileDialogFolderPicker) .SelectedItems (1) & "\"
Ứng dụng.Workbooks.Add
Đặt xWs = Application.ActiveSheet
xWs.Cells (1, 1) .Value = xPath
xWs.Cells (2, 1) .Resize (1, 5) .Value = Array ("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Đặt fso = CreateObject ("Scripting.FileSystemObject")
Đặt thư mục1 = fso.getFolder (xPath)
thư mục getSubFolder1
xWs.Cells (2, 1) .Resize (1, 5) .Interior.Color = 65535
xWs.Cells (2, 1) .Resize (1, 5) .EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder (ByRef prntfld As Object)
Làm mờ thư mục con dưới dạng đối tượng
Subfld mờ làm đối tượng
Dim xRow As Long
Đối với mỗi thư mục con trong prntfld.SubFolders
xRow = Range ("A1"). End (xlDown) .Row + 1
Cells (xRow, 1) .Resize (1, 5) .Value = Array (SubFolder.Path, Left (SubFolder.Path, InStrRev (SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreate, SubFolder. DateLastModified)
Thư mục con tiếp theo
Đối với từng subfld Trong prntfld.SubFolders
getSubFolder con
Con tiếp theo
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bạn sẽ viết mã này như thế nào để tạo siêu liên kết cho đường dẫn và thư mục
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, yuri,
Để giải quyết vấn đề của bạn, vui lòng thử mã sau:

Sub FolderNames ()
Application.ScreenUpdating = Sai
Dim xPath dưới dạng chuỗi
Làm mờ xWs dưới dạng trang tính
Dim xRg theo phạm vi
Dim fso As Object, j As Long, folder1 As Object
Với Application.FileDialog (msoFileDialogFolderPicker)
.Title = "Chọn thư mục"
.Chỉ
Kết thúc với
On Error Resume Next
xPath = Application.FileDialog (msoFileDialogFolderPicker) .SelectedItems (1) & "\"
Ứng dụng.Workbooks.Add
Đặt xWs = Application.ActiveSheet
Đặt xRg = xWs.Cells (1, 1)
xRg.Value = xPath
xWs.Hyperlinks.Add Anchor: = xRg, Address: = xPath, TextToDisplay: = xPath
xWs.Cells (2, 1) .Resize (1, 5) .Value = Array ("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Đặt fso = CreateObject ("Scripting.FileSystemObject")
Đặt thư mục1 = fso.GetFolder (xPath)
thư mục getSubFolder1
xWs.Cells (2, 1) .Resize (1, 5) .Interior.Color = 65535
xWs.Cells (2, 1) .Resize (1, 5) .EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder (ByRef prntfld As Object)
Làm mờ thư mục con dưới dạng đối tượng
Subfld mờ làm đối tượng
Dim xRow As Long
Làm mờ xStr dưới dạng chuỗi
Dim xRg theo phạm vi
Đối với mỗi thư mục con trong prntfld.SubFolders
xRow = Range ("A1"). End (xlDown) .Row + 1
Cells (xRow, 1) .Resize (1, 5) .Value = Array (SubFolder.Path, Left (SubFolder.Path, InStrRev (SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreate, SubFolder. DateLastModified)
Đặt xRg = Cells (xRow, 1)
xRg.Worksheet.Hyperlinks.Add Anchor: = xRg, Địa chỉ: = xRg.Value, TextToDisplay: = xRg.Value
Đặt xRg = Cells (xRow, 2)
xRg.Worksheet.Hyperlinks.Add Anchor: = xRg, Địa chỉ: = xRg.Value, TextToDisplay: = xRg.Value
Thư mục con tiếp theo
Đối với từng subfld Trong prntfld.SubFolders
getSubFolder con
Con tiếp theo
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
@skyyang Xin chào, Mã này có thể được chỉnh sửa thành đường dẫn siêu liên kết cho tệp thay vì thư mục không. Ví dụ: thay vì siêu liên kết đường dẫn của các thư mục bên trong Thư mục1, nó sẽ siêu liên kết đường dẫn của tất cả các tệp trong Thư mục1 (tôi cần văn bản hiển thị dưới dạng đường dẫn của tệp, không phải tên tệp), đó sẽ là cách sử dụng hoàn hảo. trường hợp cho tôi. đánh giá cao bất kỳ sự giúp đỡ nào bạn có thể cung cấp :)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
@skyyang Xin chào!
Mã này có thể được chỉnh sửa thành đường dẫn siêu liên kết cho các tệp thay vì các thư mục. Ví dụ: thay vì siêu liên kết đường dẫn của các thư mục bên trong Thư mục1, nó sẽ siêu liên kết đường dẫn của tất cả các tệp trong Thư mục1 (tôi cần văn bản hiển thị dưới dạng đường dẫn của tệp, không phải tên tệp), đó sẽ là cách sử dụng hoàn hảo. trường hợp cho tôi.
đánh giá cao bất kỳ sự giúp đỡ nào bạn có thể cung cấp :)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
@skyyang Xin chào!
Mã này có thể được chỉnh sửa thành đường dẫn siêu liên kết cho các tệp thay vì các thư mục. Ví dụ: thay vì siêu liên kết đường dẫn của các thư mục bên trong Thư mục1, nó sẽ siêu liên kết đường dẫn của tất cả các tệp trong Thư mục1 (tôi cần văn bản hiển thị dưới dạng đường dẫn của tệp, không phải tên tệp), đó sẽ là cách sử dụng hoàn hảo. trường hợp cho tôi.
đánh giá cao bất kỳ sự giúp đỡ nào bạn có thể cung cấp :)
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hi All,

ich habe eine bescheidene Frage:
Wie kann ich Eine Liste von Dateinamen trong klickbare Liên kết truy vấn umwandeln.
Es sind hier Beispiele genannt worden. Cái mũ chết tiệt mich aber nicht weiter gebracht.
Mũ wer eine Beispieldatei? Wie aus dem Bericht # 28151.

Cảm ơn bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào bạn,

Sau khi tất cả các tệp trong thư mục cụ thể đã được liệt kê trong trang tính hoạt động với các siêu liên kết, bạn có thể bấm vào các ô để mở các siêu liên kết. Tất cả các tên tệp đều có thể nhấp được. Vui lòng xem ảnh chụp màn hình.

Nhưng tôi không thể gửi cho bạn tệp Excel mẫu của tôi, vì các siêu liên kết đó được liệt kê trong tệp chỉ có thể được mở từ máy tính của riêng tôi. Chỉ cần sử dụng phương pháp để tạo siêu liên kết với các tệp từ thư mục cụ thể của bạn. Sau khi các tên tệp có siêu liên kết được liệt kê trong một tệp mới. Chỉ cần nhấp vào siêu liên kết để mở chúng. Xin vui lòng có một thử.

Trân trọng,
Mandy
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm cách nào bạn có thể thay đổi vị trí ô và cột? vì tôi đã có dữ liệu trong cột A, tôi muốn thay đổi macro thành cột N
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Diego,
Để đưa kết quả vào Cột N, vui lòng áp dụng đoạn mã dưới đây:
Sub Example1()
'Updateby Extendoffice
    Dim xFSO As Object
    Dim xFolder As Object
    Dim xFile As Object
    Dim xFiDialog As FileDialog
    Dim xPath As String
    Dim I As Integer
    Set xFiDialog = Application.FileDialog(msoFileDialogFolderPicker)
    If xFiDialog.Show = -1 Then
        xPath = xFiDialog.SelectedItems(1)
    End If
    Set xFiDialog = Nothing
    If xPath = "" Then Exit Sub
    Set xFSO = CreateObject("Scripting.FileSystemObject")
    Set xFolder = xFSO.GetFolder(xPath)
    For Each xFile In xFolder.Files
        I = I + 1
        ActiveSheet.Hyperlinks.Add Cells(I, 14), xFile.Path, , , xFile.Name
    Next
End Sub


Xin vui lòng có một thử, hy vọng nó có thể giúp bạn!
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL