Opslaan in VBA met variabele username

Status
Niet open voor verdere reacties.

jansybe

Gebruiker
Lid geworden
22 apr 2022
Berichten
19
Hallo,

Ik probeer middels VBA bestanden op de slaan. Het bestand wordt door meerdere mensen gebruikt. De filepath van het bestand is gekoppeld aan de username. Dit heb ik in de VBA verwerkt. Echter, sommige usernames bevatten een '.' (een punt dus), in de username. Ik vermoed dat daardoor het bestand niet kan worden opgeslagen. Iedereen met een username zonder een punt, kan wel gewoon de macro runnen zonder foutmeldingen.

Heeft iemand een idee hoe ik dit kan oplossen?

Groet!

Ik gebruik deze code:

UserName = Environ("USERNAME")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\" & UserName & "xxxxxxxxxx\xxxxxxxxxxxxxxx\& ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
 
Dat kan je zo doen:
Code:
UserName = Replace(Environ("USERNAME"), ".", "_")
De punt wordt dan vervangen door een underscore teken.
Als je een ander teken wilt kan dat ook.
 
Bedankt voor de reactie en hulp. Maar wordt het bestand nog wel goed opgeslagen dan?
 
Dat kan je toch eenvoudig zelf testen?
 
Sla alle bestanden in dezelfde directory op en gebruik de initialen van de gebruikers als element van een bestandsnaam.
Splitsen naar directories is papieren archiefkastdenken.
 
De oplossing van Edmoor werkt helaas niet.
Hoe bedoel je dat, snb?
 
"Werkt niet" is wel erg kort door de bocht.
Daar kan ik niks mee.
 
Excuus, de macro loopt 'vast' bij het opslaan. Blijkbaar is een '_' i.p.v. een '.' dus niet een oplossing...
 
Dat zal daar niets mee te maken hebben
Een "_" in een bestandnaam is gewoon correct, een punt overigens ook.
De oorzaak van je probleem zal dus ergens anders liggen
 
All you need:

CSS:
ActiveSheet.ExportAsFixedFormat 0, replace("C:\Users\xxxx~.pdf","~",environ("username"))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan