pad vinden met via code

Status
Niet open voor verdere reacties.

arnoo7

Gebruiker
Lid geworden
24 nov 2014
Berichten
79
Hoi,

Ik wil met een macro in excel een blad afdrukken naar pdf en deze dan op het bureaublad van de gebruiker plaatsen. Dat is een vrij makkelijke oefening. Ik heb alleen 1 hindernisje. Hij moet voor iedereen werken. Het pad moet ik dus afhankelijk maken van de gebruiker.

Is het mogelijk om met vba het pad naar het bureaublad van de gebruiker te vinden?

Ik dacht dit te kunnen doen met Application.username

Dan geeft hij " Voornaam Achternaam" Ik zie alleen dat het pad naar mijn bureaublad "c:\users\voornaam.achternaam" is. Dus was mijn oplossing de username te splitten en met een punt ertussen weer aan elkaar te plakken. So far so good. Maar nu komt het hindernisje.

Het gebruik van de punt tussen de delen van de naam is niet consequent toegepast voor alle gebruikers zie ik. Dit levert daarom een probleem op met mensen met tussenvoegsels.

Is er een andere oplossing?

Groet Arno
 
Binnen windows bestaan er specialfolders

Code:
c00 = CreateObject("WScript.Shell").SpecialFolders("Desktop")

Application.username is nergens nuttig voor omdat je dat op elk moment kan wijzingen. Gebruik dan Environ("Username")

De eerste de beste die mij een programma geeft dat uit zichzelf bestanden op mijn bureaublad plaats kan op enig commentaar rekenen. Ik bepaal zelf wel waar ik bestanden opsla.

Je kan beter even kijken naar Application.FileDialog
 
Of:
Code:
Environ("Userprofile") & "\Desktop")
 
Volgens mij heb ik jouw bureaublad wel eens gezien en ga je ook niet echt vrolijk worden van dit soort codes.:) Al kan het natuurlijk wel en hiermee lijkt mij de vraag van de TS beantwoord.
 
Ik zou inderdaad ook niet de desktop kiezen voor opslag ;)
Programma's die dat doen kunnen van mij ook op enig commentaar rekenen, tenzij het instelbaar is.
 
Heren, werkt perfect, dank jullie.

Ik begrijp jullie punt ten aanzien van het bureaublad, zeker als deze erg vol is. Zal nog even kijken wat handig is

Het me voor nu de gemakkelijkste oplossing.

Ik moet even een tijdelijke opslagplaats hebben omdat de pdf opgeslagen moet worden in een ander systeem. Dat kan op dit moment (nog) niet anders dan met een upload van de pdf. Die moet dus zonder al teveel handelingen op een makkelijk plek terug te vinden zijn. Dus mijn gedachte was: opslaan, uploaden en weer verwijderen. Als mensen dan teveel moeten klikken leken me dat overbodige handelingen.
 
Of in de map waar je Excel document staat:
Code:
ThisWorkbook.Path

Of voor opslaan, uploaden en weer verwijderen:
Code:
Environ("Temp")
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan