File excel lấy thông tin của 1 file trong 1 folder

  • Thread starter Thread starter kbw1
  • Ngày gửi Ngày gửi
Liên hệ QC

kbw1

Thành viên tích cực
Tham gia
8/11/13
Bài viết
880
Được thích
231
Em chào anh, chị!
Anh, chị cho em hỏi chút ạ,
Em đang muốn lấy thông tin của file trong folder, ví dụ như tên file, Date Modified, Type, Size... của file ra excel,
Anh, chị có addin hay file nào làm được việc đó không ạ?

Mục đích của em là để đặt lại tên file ạ.
Em cảm ơn ạ!
 
Em chào anh, chị!
Anh, chị cho em hỏi chút ạ,
Em đang muốn lấy thông tin của file trong folder, ví dụ như tên file, Date Modified, Type, Size... của file ra excel,
Anh, chị có addin hay file nào làm được việc đó không ạ?

Mục đích của em là để đặt lại tên file ạ.
Em cảm ơn ạ!

Code mẫu lấy thông tin file hiện hành
Mã:
Sub ShowFileProperty()
Dim Source As String
With CreateObject("Scripting.FileSystemObject")
   Source = ThisWorkbook.FullName
   MsgBox .GetBaseName(Source) 'ten file khong co phan mo rong
   MsgBox .GetExtensionName(Source) 'phan mo rong
   MsgBox .GetAbsolutePathName(Source) 'Ten file day du
   MsgBox .GetFile(Source).DateLastModified 'Ngay chinh sua
   MsgBox .GetFile(Source).DateCreated 'Ngay tao file
   MsgBox .GetFile(Source).Size  'Kich co file (byte)
End With
End Sub
 
Em chào anh, chị!
Anh, chị cho em hỏi chút ạ,
Em đang muốn lấy thông tin của file trong folder, ví dụ như tên file, Date Modified, Type, Size... của file ra excel,
Anh, chị có addin hay file nào làm được việc đó không ạ?

Mục đích của em là để đặt lại tên file ạ.
Em cảm ơn ạ!
Đặt lại tên file thì chỉ cần lấy tên File là được rồi, khi đổi tên nó lấy ngày hiện tại, sao lấy chi cả đống vầy (Date Modified, Type, Size)
 
Đặt lại tên file thì chỉ cần lấy tên File là được rồi, khi đổi tên nó lấy ngày hiện tại, sao lấy chi cả đống vầy (Date Modified, Type, Size)
Dạ, em lấy để đặt lại tên file theo ngày tháng phát sinh ạ.
Ví dụ File trong điện thoại nó hay kiểu MOV, em cần đặt lại tên vs thời gian ạ.
Bài đã được tự động gộp:

Code mẫu lấy thông tin file hiện hành
Mã:
Sub ShowFileProperty()
Dim Source As String
With CreateObject("Scripting.FileSystemObject")
   Source = ThisWorkbook.FullName
   MsgBox .GetBaseName(Source) 'ten file khong co phan mo rong
   MsgBox .GetExtensionName(Source) 'phan mo rong
   MsgBox .GetAbsolutePathName(Source) 'Ten file day du
   MsgBox .GetFile(Source).DateLastModified 'Ngay chinh sua
   MsgBox .GetFile(Source).DateCreated 'Ngay tao file
   MsgBox .GetFile(Source).Size  'Kich co file (byte)
End With
End Sub
Em cảm ơn anh!
Để em thử ạ.
Bài đã được tự động gộp:

Code mẫu lấy thông tin file hiện hành
Mã:
Sub ShowFileProperty()
Dim Source As String
With CreateObject("Scripting.FileSystemObject")
   Source = ThisWorkbook.FullName
   MsgBox .GetBaseName(Source) 'ten file khong co phan mo rong
   MsgBox .GetExtensionName(Source) 'phan mo rong
   MsgBox .GetAbsolutePathName(Source) 'Ten file day du
   MsgBox .GetFile(Source).DateLastModified 'Ngay chinh sua
   MsgBox .GetFile(Source).DateCreated 'Ngay tao file
   MsgBox .GetFile(Source).Size  'Kich co file (byte)
End With
End Sub
Anh ơi, em chạy code này hay dùng sao ạ.
Ý em là trong 1 folder có nhiều file,
em cần code hay addin để liệt kê ra được trong excel ấy ạ.
 
Lần chỉnh sửa cuối:
Dạ, em lấy để đặt lại tên file theo ngày tháng phát sinh ạ.
Ví dụ File trong điện thoại nó hay kiểu MOV, em cần đặt lại tên vs thời gian ạ.
Bài đã được tự động gộp:


Em cảm ơn anh!
Để em thử ạ.
Bài đã được tự động gộp:


Anh ơi, em chạy code này hay dùng sao ạ.
Ý em là trong 1 folder có nhiều file,
em cần code hay addin để liệt kê ra được trong excel ấy ạ.
Tạo 1 file excel và copy code vào trong 1 module. Lưu file này chung với folder chứa những file muốn xử lý và chạy code. Có gì tự chế biến nhé
Mã:
Sub ShowFileProperty()
Dim fso As Object, ObjFile As Object, sArr(1 To 1000, 1 To 5), k As Long
Set fso = CreateObject("Scripting.FileSystemObject")
With fso.GetFolder(ThisWorkbook.path)
   For Each ObjFile In .Files
      If fso.GetExtensionName(ObjFile) Like "xls*" Then 'chi lay file excel
         If Left(ObjFile.Name, 2) <> "~$" Then 'bay loi
            If ObjFile.Name <> ThisWorkbook.Name Then 'loai bo file dang chua code
               k = k + 1
               sArr(k, 1) = fso.GetBaseName(ObjFile) 'ten file khong co phan mo rong
               sArr(k, 2) = fso.GetExtensionName(ObjFile) 'ten file khong co phan mo rong
               sArr(k, 3) = fso.GetAbsolutePathName(ObjFile) 'ten file day du, kem theo duong dan
               sArr(k, 4) = fso.GetFile(ObjFile).DateCreated 'Ngay tao file
               sArr(k, 5) = fso.GetFile(ObjFile).Size  'Kich co file (byte)
            End If
         End If
      End If
   Next
End With
[A1].Resize(k, 5) = sArr
End Sub
 
Tạo 1 file excel và copy code vào trong 1 module. Lưu file này chung với folder chứa những file muốn xử lý và chạy code. Có gì tự chế biến nhé
Mã:
Sub ShowFileProperty()
Dim fso As Object, ObjFile As Object, sArr(1 To 1000, 1 To 5), k As Long
Set fso = CreateObject("Scripting.FileSystemObject")
With fso.GetFolder(ThisWorkbook.path)
   For Each ObjFile In .Files
      If fso.GetExtensionName(ObjFile) Like "xls*" Then 'chi lay file excel
         If Left(ObjFile.Name, 2) <> "~$" Then 'bay loi
            If ObjFile.Name <> ThisWorkbook.Name Then 'loai bo file dang chua code
               k = k + 1
               sArr(k, 1) = fso.GetBaseName(ObjFile) 'ten file khong co phan mo rong
               sArr(k, 2) = fso.GetExtensionName(ObjFile) 'ten file khong co phan mo rong
               sArr(k, 3) = fso.GetAbsolutePathName(ObjFile) 'ten file day du, kem theo duong dan
               sArr(k, 4) = fso.GetFile(ObjFile).DateCreated 'Ngay tao file
               sArr(k, 5) = fso.GetFile(ObjFile).Size  'Kich co file (byte)
            End If
         End If
      End If
   Next
End With
[A1].Resize(k, 5) = sArr
End Sub
Đối với code này có thể lấy đến tên các sheet trong file được không ạ
 
Đối với code này có thể lấy đến tên các sheet trong file được không ạ
Code này hình như không thể lấy tên sheet được. Mình ít khi nào lấy tên sheet nên chưa nghiên cứu lần nào. Có thể có cách khác nhưng chắc cũng phức tạp à
 
Tạo 1 file excel và copy code vào trong 1 module. Lưu file này chung với folder chứa những file muốn xử lý và chạy code. Có gì tự chế biến nhé
Mã:
Sub ShowFileProperty()
Dim fso As Object, ObjFile As Object, sArr(1 To 1000, 1 To 5), k As Long
Set fso = CreateObject("Scripting.FileSystemObject")
With fso.GetFolder(ThisWorkbook.path)
   For Each ObjFile In .Files
      If fso.GetExtensionName(ObjFile) Like "xls*" Then 'chi lay file excel
         If Left(ObjFile.Name, 2) <> "~$" Then 'bay loi
            If ObjFile.Name <> ThisWorkbook.Name Then 'loai bo file dang chua code
               k = k + 1
               sArr(k, 1) = fso.GetBaseName(ObjFile) 'ten file khong co phan mo rong
               sArr(k, 2) = fso.GetExtensionName(ObjFile) 'ten file khong co phan mo rong
               sArr(k, 3) = fso.GetAbsolutePathName(ObjFile) 'ten file day du, kem theo duong dan
               sArr(k, 4) = fso.GetFile(ObjFile).DateCreated 'Ngay tao file
               sArr(k, 5) = fso.GetFile(ObjFile).Size  'Kich co file (byte)
            End If
         End If
      End If
   Next
End With
[A1].Resize(k, 5) = sArr
End Sub
Em cảm ơn anh ạ!
 
Web KT

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

Back
Top Bottom