• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Uitlezen bestanden in directory op volgorde DateLastModified NIEUW naar OUD

Status
Niet open voor verdere reacties.

Peter B

Gebruiker
Lid geworden
8 feb 2007
Berichten
672
De situatie
In een directory op een server staan heel veel bestanden. In deze bestanden zoek ik naar bepaalde informatie. De kans dat ik deze informatie vind is het grootst in de meest recente bestanden. Ik wil deze bestanden dan ook uitlezen van NIEUW naar OUD totdat ik juiste informatie heb gevonden.

De vraag
Ik weet hoe ik door een directory heen kan lopen. Dat doe ik normaal met de volgende code. Ik heb echter geen idee hoe ik hier het uitlezen van NIEUW naar OUD in kan verwerken:
Code:
Do While inputFileName <> ""
    <do_stuff>
    inputFileName = Dir()
Loop

Wat heb ik al wel gevonden
Ik heb de volgende code gevonden om de meest recente file te vinden. Maar ik heb geen idee hoe dit om te bouwen naar hetgeen ik nodig heb:
Code:
Sub GetMostRecentFile()
    Dim FileSys As FileSystemObject
    Dim objFile As File
    Dim myFolder
    Dim strFilename As String
    Dim dteFile As Date
        
    'set path for files - change for your folder
    Const myDir As String = "c:\Refresh"
    
    'set up filesys objects
    Set FileSys = New FileSystemObject
    Set myFolder = FileSys.GetFolder(myDir)
    
    'loop through each file and get date last modified. If largest date then store Filename
    dteFile = DateSerial(1900, 1, 1)
    For Each objFile In myFolder.Files
        If objFile.DateLastModified > dteFile Then
            dteFile = objFile.DateLastModified
            strFilename = objFile.Name
        End If
    Next objFile
    Workbooks.Open strFilename
            
    Set FileSys = Nothing
    Set myFolder = Nothing
End Sub

Kan iemand mij op weg helpen?
 
Code:
sub M_snb()
  sn=filter(split(createobject("wscript.shell").exec("cmd /c dir C:\refresh\*.* /b/o-d/a-d").stdout.readall,vbcrlf),".")

  for j=0 to ubound(sn)
    msgbox "C:\refresh\" & sn(j) & vblf & filedatetime("C:\refresh\" & sn(j))
    with getobject(sn)
            - - - - - - - 
      .close 0
    end with
  next
End Sub
 
Laatst bewerkt:
Wow! Dank je wel. Waarom ziet het er altijd zo eenvoudig uit als jij met een oplossing komt? Ik moet alleen nog "even" aan de slag met de regel "with getobject(sn)". Hier krijg ik een foutmelding "Run-time error 13: Type mismatch".

Daar ga ik zelf nog even op puzzelen.
 
je moet daar nog even de padnaam toevoegen : getobject("C:\pad" & sn(j))
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan