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

Keuze maken waar op te slaan

Status
Niet open voor verdere reacties.

PeterBijns

Gebruiker
Lid geworden
25 nov 2008
Berichten
160
Hallo allemaal,

Ik heb een bestand welke ik invul en opsla via een macro, deze macro slaat het bestand onder een naam op met toevoeging van het weeknummer welke door de invul datum bepaald wordt.
Ik vul het op een laptop in op een USB Stick of op een pc op mijn werk.

De laptop heeft als schijfnummer de F:\ en dat moet zo blijven en op het werk is het gewoon C:\

onderstaand het gedeelte uit de macro welke voor de opslag zorgt.

'-------------- dit is de directory op het werk-----------------------
' ChDir "C:\Mijn documenten"
' If directory = "" Then directory = "C:\Mijn documenten"
' Naam = "C:\Mijn documenten\Test_FD" & " " & Range("variabelen!K1") & " " & Range("variabelen!K2")
'---------------dit is de directory op de USB Stick------------------------

ChDir "F:\Mijn documenten"
If directory = "" Then directory = "F:\Mijn documenten"
Naam = "F:\Mijn documenten\Test_FD" & " " & Range("variabelen!K1") & " " & Range("variabelen!K2")

Het lastige is dat ik steeds in de macro moet aangeven waar ik het bestand opsla, op het werk of op mijn USB Stick.
Is het mogelijk om in de macro een userform op te roepen waar je de keuze hebt waar je het bestand wilt opslaan?

Dank weer voor een oplossing.

Peter
 

Bijlagen

Sla hem op in de map waar vandaan het document is geopend:
Code:
ThisWorkbook.SaveAs Filename:=Thisworkbook.path & "\" & Naam & ".xlsm"

Dan kan je het hele ChDir verhaal en de mapnaam achterwege laten.
 
Laatst bewerkt:
Dank edmoor voor je bericht.

Ik heb het geprobeerd en krijg een foutmelding, het bestand wordt geopend maar moet worden opgeslagen in een andere map vandaar ook mijn wens om dit via een keuze te doen op een userform.
Het mag uiteraard ook anders als ik maar een keuze kan maken of kan aangeven of ik op mijn werkplek of op mijn laptop werk.

Groet, Peter
 
Zit je op het werk in een bedrijfsnetwerk met een domeinnaam? Dan kan je dit doen:
Code:
If Environ("USERDOMAIN") = "DOMEINWERK" Then
    directory = "C:\Mijn documenten\"
Else
    directory = "F:\Mijn documenten\Test_FD\"
End If
Naam = directory & Range("variabelen!K1") & " " & Range("variabelen!K2")

Waarbij je dan uiteraard DOMEINWERK wijzigt in de naam van het domein op je werk. En zo zijn er nog wel meer dingen te verzinnen die je kan gebruiken om te controleren waar je zit. Uiteraard is het wel van belang dat dit:
Range("variabelen!K1") & " " & Range("variabelen!K2")
een correcte bestandsnaam oplevert, inclusief correcte extensie, bijvoorbeeld .xlsm, en dat de gebruikte paden correct zijn.
 
Laatst bewerkt:
Edmoor,

Wederom bedankt voor je reactie, ik heb het echter nog niet werkend gekregen, en dat ligt aan mijn gebrekkige kennis van VBA.

Groet en alvast een fijne paasdagen gewenst.
Peter
 
Inmiddels een userform gemaakt meet daar een keuze menu in waar ik kan kiezen op welke (werk)plek of stick ik het bestand wil opslaan.

Ik dank degene welke gereageerd hebben.

Groet, Peter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan