namen van variabelen gebruiken in filenaam

Status
Niet open voor verdere reacties.

tvkijker

Gebruiker
Lid geworden
3 mrt 2006
Berichten
125
Beste allen,
Ik heb op een andere manier dit ook al eens proberen te vragen, maar was toen blijkbaar niet helder genoeg. Inmiddels heb ik mij er wat verder in verdiept.
Wat wil ik: ik heb een programma op diverse pc's. Deze pc's gebruiken helaas een ander usersysteem en daardoor is de filenaam- rooting steeds net iets anders. Als ik nu snel iets moet aanpassen moet ik steeds al die filenamen zeer zorgvuldig doornemen. Inmiddels heb ik het volgende gemaakt. de filenamen die de macro's gebruiken worden samengesteld uit (celwaarde bv g1) + filenaam. In de celwaarde staat de root bv:C:\Users\Gebruiker en daarna komt de naam (bv. datum-achternaam). Op de andere computers moet G1 een andere waarde krijgen, bv. c:\users\dirk\ .
Ik heb nu een invulmatrix gemaakt met de roots en de pc's en als ik een pc selecteer veranderen alle root-namen in de betreffende cellen. Prachtig , het werkt dus ik ben klaar. Maar ik wil het nog mooier :
ipv. : ActiveWorkbook.SaveAs FileName:=Range("G1") & Range("c5") & "_" & Range("c11").Value & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

wil ik voor Range ("G1") direct een naam gebruiken bv. werkordernaam en G1 is dan "werkordernaam"en staat als zodanig in mijn bibliotheek. Maar hoe gebruik ik werkordernaam dan in de VBA code ?

ActiveWorkbook.SaveAs FileName:=Range("werkordernaam") & Range("c5") & "_" & Range("c11").Value & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
(b) leek niet te werken. Terwijl ik dacht dat het zo zou kunnen.


Groeten Dirk
 
Laatst bewerkt:
Heb je overwogen om het zo te doen?
Code:
  dim strFileName as string
  strFileName = vba.Environ("USerProfile") & "\" & thisworkbook.Name 
  ActiveWorkbook.saveas strFileName
 
Dag Rene,
Allereerst dank u voor uw antwoord. Ik heb wat zitten Googlen alvorens mij er direct op te werpen. Mag ik er uit begrijpen dat deze formule Environ("USerProfile") automatisch de specifieke user eigenschappen oppakt ? Mag ik vragen tot waar ? tot "mijn documenten?"tot C:\ ? Misschien moet ik het uitproberen, maar andere lezers kunnen ook hun voordeel doen met uw antwoord.

Nogmaals bedankt , groeten,
Dirk
 
Open een command prompt (Start, uitvoeren of WIndows+R en type SET (enter), dan zie je alle environment vars
UserProfile = c:\users\naam of c:\documents and settings\naam (op XP)

Daarbij kun je als je in de VBA editor zit ook via ctrl-G naar het 'immediate' window gaan. Als je daar dan ?Environ("UserProfile") intypt zie je meteen het resultaat.
 
Dag Rene

Bedankt voor je ultrasnelle en duidelijke respons. Direct geprobeerd (windows gaaf fot melding maar VBA werkte prima) en tjoep:C:\Users\DirkDell op mijn Dell laptop die ik de PC naam DirkDell heb gegeven. Wat mij betreft is het allemaal voor elkaar en hier ga ik vaker plezier van hebben. Weer veel geleerd. Bedankt

Groeten,
Dirk
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan