![]() |
File Attributes Function
Hello,
Jacob Skaria recently provided the very helpful function pasted below. I have a follow-up question, can the function also include a way to get other attributes such as: Datecreated, DateLastModified, and DateLastAccessed? Sub Macro() MsgBox GetLatestFileName("c:\test") MsgBox GetLatestFileName("c:\test", "ba*.txt") End Sub Function GetLatestFileName(strFolder As String, Optional strFilter As String) Dim strFile As String, varDT As Variant strFile = Dir(strFolder & "\" & strFilter, vbNormal) Do While strFile < "" If FileDateTime(strFolder & "\" & strFile) varDT Then varDT = FileDateTime(strFolder & "\" & strFile) GetLatestFileName = strFile End If strFile = Dir Loop End Function -- Thanks & Best Regards |
File Attributes Function
On May 7, 2:45*pm, LeeL wrote:
Hello, * Jacob Skaria recently provided the very helpful function pasted below. *I have a follow-up question, can the function also include a way to get other attributes such as: *Datecreated, DateLastModified, and DateLastAccessed? Sub Macro() MsgBox GetLatestFileName("c:\test") MsgBox GetLatestFileName("c:\test", "ba*.txt") End Sub Function GetLatestFileName(strFolder As String, Optional strFilter As String) Dim strFile As String, varDT As Variant strFile = Dir(strFolder & "\" & strFilter, vbNormal) Do While strFile < "" If FileDateTime(strFolder & "\" & strFile) varDT Then varDT = FileDateTime(strFolder & "\" & strFile) GetLatestFileName = strFile End If strFile = Dir Loop End Function -- Thanks & Best Regards Probably No You may have to use FileSystemObject. Ofcourse I will seek Jacob's view |
File Attributes Function
I have code at http://www.cpearson.com/Excel/FileTimes.htm (with a
downloadable example at http://www.cpearson.com/Zips/GetSetFileDateTime.zip ) that will get the create date, last modify date, and last access date for a file. Basically, the code wraps up a number of messy Win API functions and structures into nice, neat, VBA-friendly functions. Cordially, Chip Pearson Microsoft MVP 1998 - 2010 Pearson Software Consulting, LLC www.cpearson.com [email on web site] On Fri, 7 May 2010 02:45:01 -0700, LeeL wrote: Hello, Jacob Skaria recently provided the very helpful function pasted below. I have a follow-up question, can the function also include a way to get other attributes such as: Datecreated, DateLastModified, and DateLastAccessed? Sub Macro() MsgBox GetLatestFileName("c:\test") MsgBox GetLatestFileName("c:\test", "ba*.txt") End Sub Function GetLatestFileName(strFolder As String, Optional strFilter As String) Dim strFile As String, varDT As Variant strFile = Dir(strFolder & "\" & strFilter, vbNormal) Do While strFile < "" If FileDateTime(strFolder & "\" & strFile) varDT Then varDT = FileDateTime(strFolder & "\" & strFile) GetLatestFileName = strFile End If strFile = Dir Loop End Function |
File Attributes Function
As Javed mentioned I have modified using FSO..
Sub Macro() Dim objFile As Object 'Set objFile = GetLatestFileName("c:\test") Set objFile = GetLatestFileName("c:\test", "ba*.txt") MsgBox "Latest File : " & objFile & vbCrLf & _ "Created : " & objFile.DateCreated & vbCrLf & _ "Modified : " & objFile.DateLastModified & vbCrLf & _ "Accessed : " & objFile.DateLastAccessed End Sub Function GetLatestFileName(strFolder As String, Optional _ strFilter As String) As Object Dim fso As Object, objFold As Object, objFile As Object Dim varDT As Variant, blnFilter As Boolean Set fso = CreateObject("Scripting.FileSystemObject") Set objFold = fso.GetFolder(strFolder) For Each objFile In objFold.Files blnFilter = False If strFilter = "" Then blnFilter = True Else If LCase(objFile.Name) Like LCase(strFilter) Then blnFilter = True End If If blnFilter Then If objFile.DateLastModified varDT Then varDT = objFile.DateLastModified Set GetLatestFileName = objFile End If End If Next End Function -- Jacob (MVP - Excel) "LeeL" wrote: Hello, Jacob Skaria recently provided the very helpful function pasted below. I have a follow-up question, can the function also include a way to get other attributes such as: Datecreated, DateLastModified, and DateLastAccessed? Sub Macro() MsgBox GetLatestFileName("c:\test") MsgBox GetLatestFileName("c:\test", "ba*.txt") End Sub Function GetLatestFileName(strFolder As String, Optional strFilter As String) Dim strFile As String, varDT As Variant strFile = Dir(strFolder & "\" & strFilter, vbNormal) Do While strFile < "" If FileDateTime(strFolder & "\" & strFile) varDT Then varDT = FileDateTime(strFolder & "\" & strFile) GetLatestFileName = strFile End If strFile = Dir Loop End Function -- Thanks & Best Regards |
All times are GMT +1. The time now is 06:51 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com