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

Opslaan Als met macro in diepere map

Status
Niet open voor verdere reacties.

tom300

Gebruiker
Lid geworden
6 feb 2008
Berichten
44
Hallo Allemaal,

Ik probeer met onderstaande code een bestand automatisch met een andere naam op te slaan in een andere map.

Code:
Sub Afsluiten()

Dim Bestandsnaam As String

Bestandsnaam = "/Opgeslagen facturen/" & CStr(Range("A3").Value) & ".xls"
ThisWorkbook.SaveAs Bestandsnaam

    MsgBox "Bestand is opgeslagen! Klik Ok om af te sluiten."
    
    Application.DisplayAlerts = False
    Application.Quit
    Application.DisplayAlerts = False

End Sub

Om dat de map waar het bestand in staat in een cloud zit en er ook andere mensen mee werken, kan ik het pad achter "Bestandsnaam="......" niet voluit schrijven als "c:/opgeslagen facturen" omdat de route naar die map per pc verschilt.

Mijn vraag is dan ook als volgt: Kan ik in bovenstaande code een aanpassing doen waarmee het bestand wordt opgeslagen in een map die in dezelfde directory staat als het bestand, zonder dat ik daar het hele pad voor hoef uit te schrijven? Ik had het op bovenstaande wijze geprobeerd maar dat lukte niet.

Alvast bedankt allemaal!

Groeten, Tom
 
Sowieso moet je geen / maar \ gebruiken.
Als je begint met een \ wordt er altijd vanuit de root gegaan, laat daarom de eerste \ weg, dan wordt er vanuit de huidige map gekeken. Of je moet er nog wat voor zetten. Hoewel ik twijfel of dat in een cloud omgeving ook zo is.

Gebruik bijvoorbeeld:
Bestandsnaam = Thisworkbook.Path & "\Opgeslagen facturen\" & CStr(Range("A3").Value) & ".xls"
 
Laatst bewerkt:
en laat vooral cstr(..) achterwege.
 
Yepp, dat was het! Thanks voor deze oplossing! :thumb::thumb::thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan