MkDir met %USERNAME%

Status
Niet open voor verdere reacties.

Reckless

Gebruiker
Lid geworden
3 apr 2018
Berichten
10
Code:
Sub Opslaan()

    Naam = "xxxx_xx " & Year(Date) & " " & "yyyy"
    Pad = "C:\Users\%USERNAME%\Documents\Testmap\"

If Len(Dir(pad, vbDirectory)) = 0 Then
MkDir (Pad)
End If
ActiveDocument.SaveAs FileName:=Pad & Naam
End Sub

Waarom gaat dit niet goed, wat zie ik over het hoofd?
Ik krijg een foutmelding wanneer hij bij MkDir komt.
Als ik %USERNAME% vervang voor mijn username gaat het wel goed. Maar dat is niet helemaal wat ik wil.
 
Je kunt geen tempvar in een string zetten. Dit werkt wel:
Code:
    pad = CreateObject("WScript.Shell").specialfolders("MyDocuments") & "\Testmap\"
 
zo?

Code:
Sub Opslaan()

    Naam = "xxxx_xx " & Year(Date) & " " & "yyyy"
    Pad = "C:\Users\" & Environ("Username") & "\Documents\Testmap\"

If Len(Dir(Pad, vbDirectory)) = 0 Then
MkDir (Pad)
End If
ActiveDocument.SaveAs Filename:=Pad & Naam
End Sub
 
Of:
Code:
Sub Opslaan()
    Naam = "xxxx_xx " & Year(Date) & " " & "yyyy"
    Pad = Environ("Userprofile) & "\Documents\Testmap\"

    If Len(Dir(Pad, vbDirectory)) = 0 Then
        MkDir (Pad)
    End If
    ActiveDocument.SaveAs Filename:=Pad & Naam
End Sub
 
In Excel:

Code:
Sub M_snb_Excel()
  c00 = Application.DefaultFilePath & "\temppath"

  CreateObject("shell.application").Namespace(Left(c00, 3)).newfolder Mid(c00, 4)
  ActiveWorkbook.SaveAs c00 & "experiment.xlsx", 51
End Sub

In Word

Code:
Sub M_snb_Word()
  c00 = Application.Options.DefaultFilePath(0)

  CreateObject("shell.application").Namespace(Left(c00, 3)).newfolder Mid(c00, 4)
  ActiveDocument.SaveAs c00 & "experiment.docx"
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan