[VBA] - Makro Output auf Desktop speichern, egal welcher Benutzer?
Hallo Leute. Ich habe ein Makro geschrieben, dass zurzeit den Output in einen Ordner ablegt der im selben Verzeichnis liegt wie das Makro selbst.
Nun hätte ich es gerne so, dass egal welcher Nutzer das Makro nutzt der Output bei ihm auf dem Desktop gespeichert wird.
Mein Savepfad ist zurzeit so:
savePfad = ThisWorkbook.Path & "\Makro Output" & Auftraggeber & "(" & OhneSonder & ").docx"
Wie müsste ich das jetzt abändern, dass er es auf dem Desktop speichert.
Also C:\Users\Name\Desktop .. Name wär ja dann variabel, gibts da irgendwie eine Möglichkeit?
Danke im vorraus.
3 Antworten
Du könntest dir ein Shell-Objekt erzeugen, welches den SpecialFolder ausliest.
CreateObject("WScript.Shell").SpecialFolders("Desktop")
Quelle: https://www.xing.com/communities/posts/besondere-ordner-specialfolders-mit-vba-finden-1002110397
Hab gerade auch selbst was gefunden:
savePfad = Environ("USERPROFILE") & "\Desktop\ " & Auftraggeber & "(" & OhneSonder & ").docx"
Sub desktop_pfad()
Set WSHShell = CreateObject("wscript.Shell")
strDesktopPath = WSHShell.SpecialFolders.Item("Desktop")
MsgBox strDesktopPath
End Sub
Nimm die Umgebungsvariable: %HOMEPATH% und erweitere diese um eine absolute Angabe, also %HOMEPATH%\Desktop
Tipps einfach mal so bei dir ein den Explorer ein!
https://de.wikipedia.org/wiki/Umgebungsvariable#Vordefinierte_Umgebungsvariablen_2
Danke danke, habs schon selbst:
savePfad = Environ("USERPROFILE") & "\Desktop\ " & Auftraggeber & "(" & OhneSonder & ").docx"