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

Macro maken om bestand te openen met variabele naam

Status
Niet open voor verdere reacties.

vrouw

Terugkerende gebruiker
Lid geworden
27 mrt 2010
Berichten
1.554
Hoi,

Ik gebruik in excel een macro om een bestand te openen dat dagelijks ergens word klaargezet.
Het vervelende is echter dat een gedeelte van de bestandsnaam iedere dag anders is.
Is het mogelijk om dmv joker tekens of iets dergelijks het bestand toch te openen?

De twee namen van bijv gisteren en vandaag zijn:

//tool.xxx.nl/reports/download_bestanden.php?action=download&prefix=Dag_rapportage_totaal&filemtime=1451285107

//tool.xxx.nl/reports/download_bestanden.php?action=download&prefix=Dag_rapportage_totaal&filemtime=1451371506

Zoals je ziet is het enige verschil de filetime notatie.
 
Laatst bewerkt:
En is die notatie vooraf bekend bij je? Zo niet, dan is het handiger om het bestand te openen met de meest recente FileDateTime. Wel handig als je de macro-code die je hebt even hier plaatst.
 
En is die notatie vooraf bekend bij je? Zo niet, dan is het handiger om het bestand te openen met de meest recente FileDateTime. Wel handig als je de macro-code die je hebt even hier plaatst.

Nee, de notatie is vooraf niet bekend.

Code:
 Workbooks.Open Filename:= _
        "http://tool.xxx.nl/reports/download_bestanden.php?action=download&prefix=Dag_rapportage_totaal&filemtime=1451285107"
 
Ik had niet goed gelezen; dacht dat het om een directory-locatie ging ipv een internet-locatie. FileDataTime en Dir zullen dan niet werken. Als je iets meer zou weten over hoe die cijferstring tot stand is gekomen kun je wellicht een loop inbouwen in de macro, die bijvoorbeeld begint met 1460000000 en afloopt totdat een bestaand bestand gevonden wordt.
 
Ik had niet goed gelezen; dacht dat het om een directory-locatie ging ipv een internet-locatie. FileDataTime en Dir zullen dan niet werken. Als je iets meer zou weten over hoe die cijferstring tot stand is gekomen kun je wellicht een loop inbouwen in de macro, die bijvoorbeeld begint met 1460000000 en afloopt totdat een bestaand bestand gevonden wordt.

Nu opent ie het bestand wel zolang de FileDataTime maar exact het zelfde is.
 
Als deze werkmappen in een Map/Folder staan kan je deze macro gebruiken

Code:
Sub test()
Dim bestandopen As String
bestandopen = Dir("C:\Test\Folder\*")
Do Until bestandopen = ""
If bestandopen = "" Then Exit Do
Workbooks.Open "C:\Test\Folder\" & bestandopen, True
bestandopen = Dir
Loop
End Sub
 
Als deze werkmappen in een Map/Folder staan kan je deze macro gebruiken

Code:
Sub test()
Dim bestandopen As String
bestandopen = Dir("C:\Test\Folder\*")
Do Until bestandopen = ""
If bestandopen = "" Then Exit Do
Workbooks.Open "C:\Test\Folder\" & bestandopen, True
bestandopen = Dir
Loop
End Sub

Het bestand staat niet op de pc in een folder maar op internet ergens.
 
Ik ben erachter.
Door filemtime=1451285107 aan te passen naar filemtime=latest krijg ik altijd het laatste bestand open.
Bedankt voor de hulp in ieder geval. ik kan weer verder.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan