• 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.

Relatieve verwijzing Macro

Status
Niet open voor verdere reacties.

papfles

Nieuwe gebruiker
Lid geworden
27 apr 2007
Berichten
4
Hey,

ik zou graag een macro hebben die bepaalde gegevens gaat halen uit een ander excel-bestandje, maar dat bestand kan ik niet specifiek aanduiden, vermits dat wekelijks wordt vernieuwd en er dus een andere naam voor gegeven wordt (bv. 'lijst17052010' en week later 'lijst24052010')

Is het mogelijk om mijn macro te zeggen dat hij altijd de meest recent aangemaakte / gewijzigde excel moet openen in die map?

Zo ja, hoe?

Hartelijk bedankt :)
 
Code:
Sub GetMostRecentFile()
    Dim FileSys As FileSystemObject, objFile As File
    Dim strFilename As String, dteFile As Date
    'set up filesys objects
    Set FileSys = New FileSystemObject
    'loop through each file and get date last modified. If largest date then store Filename
    dteFile = DateSerial(1900, 1, 1)
    For Each objFile In FileSys.GetFolder("[COLOR="red"]D:\Mijn documenten\Helpmij\[/COLOR]").Files
        If objFile.DateLastModified > dteFile Then
            dteFile = objFile.DateLastModified
            strFilename = objFile.Name
        End If
    Next objFile
    Workbooks.Open strFilename
            
    Set FileSys = Nothing
End Sub
 
Laatst bewerkt:
Dat was snel ^^

Geweldig bedankt, maar euh.... ongelooflijke beginneling als ik ben: kan je wat uitleg geven over wat het juist doet en wat ik dien aan te passen of in te voeren om het hier te doen werken? :)

Anders ga ik ongetwijfeld wat liggen prutsen en komt er helemaal niks van :D
 
Het doet wat jij gevraagd hebt, nl het meest recente bestand in een bepaalde directory openen. In mijn vorige post heb ik het pad naar je bestand dat jij moet aanpassen rood gekleurd. Roep dus deze macro aan in je andere macro zodat het juiste bestand eerst geopend wordt alvorens verder te gaan.
PS In je VB-Editor bij Extra >> Verwijzingen >> Microsoft Scripting Runtime aanvinken >> OK anders krijg je een foutmelding.
 
Hmm, ik krijg error 1004 als ik dit doe:

"<bestandsnaam>.xls kan niet worden gevonden. Controleer de spelling van de naam en de locatie van het bestand.

Als u het bestand opent via de lijst met laatst geopende bestanden, controleert u of de naam van het bestand is gewijzigd en of het bestand is verplaatst of verwijderd."

De verwijzing is correct, het bestand staat er nog en dergelijke. Wat is er dan mis, want hij wil het gewoon niet openen eigenlijk (hetgeen hierboven werd gezegd van "duid Scripting aan" is gebeurd).
 
Zet bij deze regel hetzelfde pad als erboven
Code:
Workbooks.Open "D:\Mijn documenten\Helpmij\" & strFilename
 
Als het pad correct is (en correct getypt in de macro) en je hebt in je VB-Editor de juiste verwijzing aangevinkt MOET dit werken.
Plaats de macro tevens in een standaardmodule.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan