From: LeeL on 7 May 2010 05:45 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
From: Javed on 7 May 2010 06:39 On May 7, 2:45 pm, LeeL <L...(a)needhelp.com> 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
From: Chip Pearson on 7 May 2010 07:24 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 <LeeL(a)needhelp.com> 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
From: Jacob Skaria on 7 May 2010 09:52 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
|
Pages: 1 Prev: please help about handling "#NUM!" error ! Next: How to programme this?? |