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

map aanmaken met verschillende users foutmelding in macro code

Status
Niet open voor verdere reacties.

westra77

Gebruiker
Lid geworden
2 mrt 2007
Berichten
149
via onderstaande code heb ik geprobeerd via functie de usernaam te achterhalen. Deze is nl verschillend. Daarna moet de macro controleren of de map al bestaat, is dit niet het geval dan moet deze aangemaakt worden.

onderstaande geeft een foutmelding:compileerfout
kan iemand mij helpen uit te leggen wat ik fout doe?
alvast bedankt


Code:
Option Explicit
Function gebruikersnaam()
gebruikersnaam = Environ("username")
End Function
   

 Dim naam3 As String
    naam3 = Sheets("werkblad").Range("a249").Text

 Dim myfolder As String
     
   myfolder = "C:\Users\" &naam3& " \Documents\benchmark\data\"
If Dir(myfolder, vbDirectory) = ""  Then
MkDir myfolder
End If

in cel a249 wordt de username via de formule =gebruikersnaam() opgevraagt
 
Ziet ernaar uit dat je meerdere directories in 1 keer wilt aanmaken (na user komen er nog een paar).

op de site van pearson (http://www.cpearson.com/Excel/MakeDirMulti.aspx) staat een script voor het aanmaken van meerdere directories. Ik heb dit zelf gebruikt voor het verplaatsen van een heleboel bestanden met excel (ook een topic binnen helpmij).

Volgens mij kun je met dit script je macro verder uitwerken waarna het zou moeten werken.

succes.
 
Een aantal dingen zijn niet goed:
- Tussen naam3 en het &-teken moet een spatie.
- Je kunt geen Dim e.d. plaatsen achter de End-Function.

Je code kan een stuk korter.

Code:
Option Explicit
Function gebruikersnaam()
Dim myfolder As String
    gebruikersnaam = Environ("username")
    myfolder = "C:\Users\" & gebruikersnaam & " \Documents\benchmark\data\"
    If Dir(myfolder, vbDirectory) = "" Then
        MkDir myfolder
    End If
End Function

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan