Xin nhờ các bác. em có file ảnh khoảng hơn trục ngàn cái, giờ em muốn tìm một số ảnh theo danh sách để riêng ra một tệp khác, ảnh sếp theo mã nv và họ tên ạ. mã nv là chính xác. vậy có cách nào các bác giúp em. e mới học xin thông cảm. Xin trân trọng cám ơn.
Xin nhờ các bác. em có file ảnh khoảng hơn trục ngàn cái, giờ em muốn tìm một số ảnh theo danh sách để riêng ra một tệp khác, ảnh sếp theo mã nv và họ tên ạ. mã nv là chính xác. vậy có cách nào các bác giúp em. e mới học xin thông cảm. Xin trân trọng cám ơn.
Xin nhờ các bác. em có file ảnh khoảng hơn trục ngàn cái, giờ em muốn tìm một số ảnh theo danh sách để riêng ra một tệp khác, ảnh sếp theo mã nv và họ tên ạ. mã nv là chính xác. vậy có cách nào các bác giúp em. e mới học xin thông cảm. Xin trân trọng cám ơn.
Thầy ơi, ý họ muốn kiểu lưu ảnh từ file excel ra dạng jpg mà tên là mã nv + tên nhân viên ấy thầy ạ. Lập thành 1 file dữ liệu chứa tất cả ảnh trong file excel ấy ạ.
Thầy ơi, ý họ muốn kiểu lưu ảnh từ file excel ra dạng jpg mà tên là mã nv + tên nhân viên ấy thầy ạ. Lập thành 1 file dữ liệu chứa tất cả ảnh trong file excel ấy ạ.
Tôi nghĩ là tôi hiểu ý bạn à (nhưng bạn chưa hiểu ý tôi)
Vấn đề là sau khi ta tìm xong, ta lọc các file đúng yêu cầu sang một folder khác, đúng không? Ở đây tôi đang thắc mắc là tại sao phải lọc các file ra riêng một nơi khác? Để yên vậy sẽ có gì khó khăn cho bạn?
Tôi nghĩ là tôi hiểu ý bạn à (nhưng bạn chưa hiểu ý tôi)
Vấn đề là sau khi ta tìm xong, ta lọc các file đúng yêu cầu sang một folder khác, đúng không? Ở đây tôi đang thắc mắc là tại sao phải lọc các file ra riêng một nơi khác? Để yên vậy sẽ có gì khó khăn cho bạn?
vâng. trong tệp ảnh của tôi có hơn 13000 cái . tôi cần tìm ra 2000 cái theo danh sách để tôi có thể in hồ sơ bạn ạ. nếu để cả trong folder đó sẽ rất khó ạ.
vâng. trong tệp ảnh của tôi có hơn 13000 cái . tôi cần tìm ra 2000 cái theo danh sách để tôi có thể in hồ sơ bạn ạ. nếu để cả trong folder đó sẽ rất khó ạ.
Nếu bạn muốn tạo ra một danh sách các tên tập tin từ một thư mục vào một bảng tính, bạn có thể dùng các cách sau để có được một danh sách các tập tin từ một thư mục vào trang tinh Excel.
Xin diễn đàn cho mình hỏi : Có thể dùng VBA để viết 1 lệnh di chuyển (Cut hay copy) 1 file excel từ thư mục này sang thư mục khác được không.Các bạn hướng dẫn giúp mình với
Góp ý cho bạn: Theo tôi thì bạn nên theo hướng này.
1/ Bạn nên có 1 Folder cha chứa các Folder con chứa ảnh riêng cho từng bộ phận hoặc tên phòng, kho ảnh cố định một chỗ sẽ dễ dàng cho việc truy vấn hình, ảnh.
2/ Bạn nên có 1 sheet theo dõi chung, trong đó có cột tên bộ phận hoặc tên phòng.
3/ 1 sheet dùng lọc danh sách theo bộ phận.
4/ Dựa vào sheet lọc lấy dữ liệu vào1 sheet được thiết kế sẳn để làm lý lịch, hợp đồng, thẻ nhân viên hay thẻ bảo hiểm...v..v....Vấn đề của bạn cần kết quả chỗ nào lại không nêu cụ thể, rõ ràng nên không ai hiểu để giúp.
Nếu bạn muốn tạo ra một danh sách các tên tập tin từ một thư mục vào một bảng tính, bạn có thể dùng các cách sau để có được một danh sách các tập tin từ một thư mục vào trang tinh Excel.
Xin diễn đàn cho mình hỏi : Có thể dùng VBA để viết 1 lệnh di chuyển (Cut hay copy) 1 file excel từ thư mục này sang thư mục khác được không.Các bạn hướng dẫn giúp mình với
Góp ý cho bạn: Theo tôi thì bạn nên theo hướng này.
1/ Bạn nên có 1 Folder cha chứa các Folder con chứa ảnh riêng cho từng bộ phận hoặc tên phòng, kho ảnh cố định một chỗ sẽ dễ dàng cho việc truy vấn hình, ảnh.
2/ Bạn nên có 1 sheet theo dõi chung, trong đó có cột tên bộ phận hoặc tên phòng.
3/ 1 sheet dùng lọc danh sách theo bộ phận.
4/ Dựa vào sheet lọc lấy dữ liệu vào1 sheet được thiết kế sẳn để làm lý lịch, hợp đồng, thẻ nhân viên hay thẻ bảo hiểm...v..v....Vấn đề của bạn cần kết quả chỗ nào lại không nêu cụ thể, rõ ràng nên không ai hiểu để giúp.
Tôi nghĩ là tôi hiểu ý bạn à (nhưng bạn chưa hiểu ý tôi)
Vấn đề là sau khi ta tìm xong, ta lọc các file đúng yêu cầu sang một folder khác, đúng không? Ở đây tôi đang thắc mắc là tại sao phải lọc các file ra riêng một nơi khác? Để yên vậy sẽ có gì khó khăn cho bạn?
Xin nhờ các bác. em có file ảnh khoảng hơn trục ngàn cái, giờ em muốn tìm một số ảnh theo danh sách để riêng ra một tệp khác, ảnh sếp theo mã nv và họ tên ạ. mã nv là chính xác. vậy có cách nào các bác giúp em. e mới học xin thông cảm. Xin trân trọng cám ơn.
Xin nhờ các bác. em có file ảnh khoảng hơn trục ngàn cái, giờ em muốn tìm một số ảnh theo danh sách để riêng ra một tệp khác, ảnh sếp theo mã nv và họ tên ạ. mã nv là chính xác. vậy có cách nào các bác giúp em. e mới học xin thông cảm. Xin trân trọng cám ơn.
Nếu bạn được người ta cho hưởng luật đặc biệt thì ...
1. Cấu trúc các tên ảnh không đồng nhất. Sau Mã là "-" hoặc " " hoặc " -". Vì thế code phải xoay xở.
2. Hãy đổi tên trang tính thành "Trang_tinh1", tức không có ký tự Việt. Nếu chọn tên khác thì sửa cả trong code.
3. code cho là đã là MNV thì là duy nhất, tức không có 2 nhân viên nào có cùng MNV.
4. Code cho là ảnh nguồn nằm trong thư mục có tên là "Anh". Hãy đổi tên "danh sách ảnh" thành "Anh". Để như cũ cũng chả sao nhưng chả lý gì bầy đặt như thế. Nếu chọn tên khác thì sửa cả trong code.
5. Tập tin Excel và thư mục Anh phải đặt trong cùng 1 thư mục.
6. Code tự tạo thư mục "Loc_***" và sao chép các ảnh tìm thấy vào đấy.
Mở tập tin Excel -> Alt + F11 -> menu Insert -> Module ... -> dán code sau
Mã:
Option Explicit
Private Const folder_name = "Anh"
Sub FindAndCopy()
Dim lastRow As Long, k As Long, FolderStart As String, new_folder As String, ma As String, data, sfile, fso As Object, f As Object, dic As Object
With ThisWorkbook.Worksheets("Trang_tinh1")
lastRow = .Cells(Rows.count, "B").End(xlUp).Row
If lastRow < 4 Then Exit Sub
data = .Range("B4:B" & lastRow + 1) ' lay cac MNV vao mang data
End With
Set dic = CreateObject("Scripting.Dictionary")
dic.CompareMode = vbTextCompare
For k = 1 To UBound(data) - 1
ma = data(k, 1) & "-" ' "MNV-"
If Not dic.Exists(ma) Then dic.Add ma, "" ' cho "MNV-" vao tu dien dic
Next k
new_folder = ThisWorkbook.Path & "\Loc_" & Format(Now(), "yyyymmddhhmmss")
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder new_folder ' tao thu muc moi
FolderStart = ThisWorkbook.Path & "\" & folder_name ' thu muc chua anh nguon
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(FolderStart) Then GoTo end_ ' neu thu muc khong ton tai thi nghi choi
Set f = fso.GetFolder(FolderStart).files ' doc ra cac tap tin trong thu muc
If f.count = 0 Then GoTo end_ ' neu thu muc khong co tap tin nao thi nghi choi
For Each sfile In f
ma = Replace(sfile.Name, " ", "-", , 1)
ma = Left(ma, InStr(1, ma, "-")) ' tao "MNV-" tu ten tap tin
If dic.Exists(ma) Then fso.CopyFile sfile.Path, new_folder & "\" & sfile.Name ' neu ma co trong tu dien thi sao chep sang thu muc moi
Next sfile
end_:
Set fso = Nothing
Set dic = Nothing
End Sub
Nếu bạn được người ta cho hưởng luật đặc biệt thì ...
1. Cấu trúc các tên ảnh không đồng nhất. Sau Mã là "-" hoặc " " hoặc " -". Vì thế code phải xoay xở.
2. Hãy đổi tên trang tính thành "Trang_tinh1", tức không có ký tự Việt. Nếu chọn tên khác thì sửa cả trong code.
3. code cho là đã là MNV thì là duy nhất, tức không có 2 nhân viên nào có cùng MNV.
4. Code cho là ảnh nguồn nằm trong thư mục có tên là "Anh". Hãy đổi tên "danh sách ảnh" thành "Anh". Để như cũ cũng chả sao nhưng chả lý gì bầy đặt như thế. Nếu chọn tên khác thì sửa cả trong code.
5. Tập tin Excel và thư mục Anh phải đặt trong cùng 1 thư mục.
6. Code tự tạo thư mục "Loc_***" và sao chép các ảnh tìm thấy vào đấy.
Mở tập tin Excel -> Alt + F11 -> menu Insert -> Module ... -> dán code sau
Mã:
Option Explicit
Private Const folder_name = "Anh"
Sub FindAndCopy()
Dim lastRow As Long, k As Long, FolderStart As String, new_folder As String, ma As String, data, sfile, fso As Object, f As Object, dic As Object
With ThisWorkbook.Worksheets("Trang_tinh1")
lastRow = .Cells(Rows.count, "B").End(xlUp).Row
If lastRow < 4 Then Exit Sub
data = .Range("B4:B" & lastRow + 1) ' lay cac MNV vao mang data
End With
Set dic = CreateObject("Scripting.Dictionary")
dic.CompareMode = vbTextCompare
For k = 1 To UBound(data) - 1
ma = data(k, 1) & "-" ' "MNV-"
If Not dic.Exists(ma) Then dic.Add ma, "" ' cho "MNV-" vao tu dien dic
Next k
new_folder = ThisWorkbook.Path & "\Loc_" & Format(Now(), "yyyymmddhhmmss")
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder new_folder ' tao thu muc moi
FolderStart = ThisWorkbook.Path & "\" & folder_name ' thu muc chua anh nguon
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(FolderStart) Then GoTo end_ ' neu thu muc khong ton tai thi nghi choi
Set f = fso.GetFolder(FolderStart).files ' doc ra cac tap tin trong thu muc
If f.count = 0 Then GoTo end_ ' neu thu muc khong co tap tin nao thi nghi choi
For Each sfile In f
ma = Replace(sfile.Name, " ", "-", , 1)
ma = Left(ma, InStr(1, ma, "-")) ' tao "MNV-" tu ten tap tin
If dic.Exists(ma) Then fso.CopyFile sfile.Path, new_folder & "\" & sfile.Name ' neu ma co trong tu dien thi sao chep sang thu muc moi
Next sfile
end_:
Set fso = Nothing
Set dic = Nothing
End Sub
Trước tiên xin được cám ơn bạn rất nhiều.
M không phải được hưởng đặc biệt, chỉ là người mới và cao tuổi thôi. muốn vọc tý may được addmin thông cảm.
bạn ơi m đã chạy thử code của bạn vẫn thấy báo lỗi. bạn có thể chạy giúp được không. vì mới nên muốn được ưu tiên chút mong bạn hết sức thông cảm. một ần nữa xin được trân trọng cảm ơn.