This should work ok, without hardcoding the desktop path:
<font face=Courier New><SPAN style="color:#00007F">Option</SPAN> <SPAN style="color:#00007F">Explicit</SPAN>
<SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Const</SPAN> CSIDL_DESKTOP = &H0
<SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Type</SPAN> ****EMID
cb <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>
abID <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Byte</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Type</SPAN>
<SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Type</SPAN> ITEMIDLIST
mkid <SPAN style="color:#00007F">As</SPAN> ****EMID
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Type</SPAN>
<SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Declare</SPAN> <SPAN style="color:#00007F">Function</SPAN> SHGetSpecialFolderLocation <SPAN style="color:#00007F">Lib</SPAN> "shell32.dll" _
(<SPAN style="color:#00007F">ByVal</SPAN> hwndOwner <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>, <SPAN style="color:#00007F">ByVal</SPAN> nFolder <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>, pidl <SPAN style="color:#00007F">As</SPAN> ITEMIDLIST) <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>
<SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Declare</SPAN> <SPAN style="color:#00007F">Function</SPAN> SHGetPathFromIDList <SPAN style="color:#00007F">Lib</SPAN> "shell32.dll" Alias _
"SHGetPathFromIDListA" (<SPAN style="color:#00007F">ByVal</SPAN> pidl <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>, <SPAN style="color:#00007F">ByVal</SPAN> pszPath <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">String</SPAN>) <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>
<SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Function</SPAN> GetSpecialfolder(CSIDL <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>) <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">String</SPAN>
<SPAN style="color:#00007F">Dim</SPAN> r <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Long</SPAN>, Path$
<SPAN style="color:#00007F">Dim</SPAN> IDL <SPAN style="color:#00007F">As</SPAN> ITEMIDLIST
<SPAN style="color:#007F00">'Get the special folder</SPAN>
r = SHGetSpecialFolderLocation(100, CSIDL, IDL)
<SPAN style="color:#00007F">If</SPAN> r = 0 <SPAN style="color:#00007F">Then</SPAN>
<SPAN style="color:#007F00">'Create a buffer</SPAN>
Path$ = Space$(512)
<SPAN style="color:#007F00">'Get the path from the IDList</SPAN>
r = SHGetPathFromIDList(<SPAN style="color:#00007F">ByVal</SPAN> IDL.mkid.cb, <SPAN style="color:#00007F">ByVal</SPAN> Path$)
<SPAN style="color:#007F00">'Remove the unnecessary chr$(0)'s</SPAN>
GetSpecialfolder = Left$(Path, InStr(Path, Chr$(0)) - 1)
<SPAN style="color:#00007F">Exit</SPAN> <SPAN style="color:#00007F">Function</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN>
GetSpecialfolder = ""
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Function</SPAN>
<SPAN style="color:#00007F">Sub</SPAN> Test()
<SPAN style="color:#00007F">On</SPAN> <SPAN style="color:#00007F">Error</SPAN> <SPAN style="color:#00007F">Resume</SPAN> <SPAN style="color:#00007F">Next</SPAN> <SPAN style="color:#007F00">'In case it already exists</SPAN>
MkDir GetSpecialfolder(CSIDL_DESKTOP) & "\My Folder"
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN></FONT>