anhtuan1066
Thành viên gạo cội
- Tham gia
- 10/3/07
- Bài viết
- 5,802
- Được thích
- 6,911
- Ko biết chủ đề này đã có chưa (Search ko thấy)
- Ko biết chủ đề này đặt ở đây có hợp lý ko? (nếu ko hợp, nhờ Mod chuyển dùm)
----------------------------------------------------------------------
Đây là 2 đoạn code khá đơn giãn, thích hợp cho những bạn mới tiếp cận với VBA
1> Lấy danh sách tên các file có trong thư mục hiện hành (thư mục chứa file Excel mà ta đang chạy)
Nếu cho đoạn .SearchSubFolders = True vào luôn thì nó sẽ tìm luôn trong các thư mục con
2> Lấy danh sách tên file trong 1 thư mục nào đó tùy ta chọn
Đã có hướng dẩn trong file, các bạn có thể từ đây tùy biến theo ý muốn! Chẳng hạn tạo thêm Hyperlink hay gì gì đó
2 đoạn code này đều có trong mục Help của Excel VBA, tôi chỉ chỉnh sửa lại đôi chút! Các bạn cứ bôi đen chử FileSearch hoặc FileDialog rồi bấm F1 sẽ thấy
Lưu ý: Đoạn code 1 ko hổ trợ Excel 2007 (đơn giãn vì nó chả biết Application.FileSearch nghĩa là cái gì)
- Ko biết chủ đề này đặt ở đây có hợp lý ko? (nếu ko hợp, nhờ Mod chuyển dùm)
----------------------------------------------------------------------
Đây là 2 đoạn code khá đơn giãn, thích hợp cho những bạn mới tiếp cận với VBA
1> Lấy danh sách tên các file có trong thư mục hiện hành (thư mục chứa file Excel mà ta đang chạy)
PHP:
Option Explicit
Sub SeachFiles1()
Dim i As Long, MyDir As String
Range("A1").CurrentRegion.Offset(1).ClearContents
MyDir = ThisWorkbook.Path
With Application.FileSearch
'.SearchSubFolders = True '<--- Tim ca trong thu muc con
.LookIn = MyDir '<--- Tim trong thu muc này
.Filename = "*.*" '<--- Kieu file can tìm
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
[A65536].End(xlUp).Offset(1) = Replace(.FoundFiles(i), MyDir & "\", "")
Next i
End If
MsgBox .FoundFiles.Count & " files found."
End With
End Sub
2> Lấy danh sách tên file trong 1 thư mục nào đó tùy ta chọn
PHP:
Option Explicit
Sub SeachFiles2()
Dim i As Long
Range("A1").CurrentRegion.Offset(1).ClearContents
With Application.FileDialog(3)
.AllowMultiSelect = True: .Show
For i = 1 To .SelectedItems.Count
[A65536].End(xlUp).Offset(1) = .SelectedItems(i)
Next i
MsgBox .SelectedItems.Count & " files Selected "
End With
End Sub
2 đoạn code này đều có trong mục Help của Excel VBA, tôi chỉ chỉnh sửa lại đôi chút! Các bạn cứ bôi đen chử FileSearch hoặc FileDialog rồi bấm F1 sẽ thấy
Lưu ý: Đoạn code 1 ko hổ trợ Excel 2007 (đơn giãn vì nó chả biết Application.FileSearch nghĩa là cái gì)
File đính kèm
Lần chỉnh sửa cuối: