Private Declare Function SHGetSpecialFolderLocation Lib 'Shell32' _
(ByVal hwnd As Long, ByVal nFolder As Long, ppidl As Long) As Long
Private Declare Function SHGetPathFromIDList Lib 'Shell32' _
(ByVal Pidl As Long, ByVal pszPath As String) As Long
Sub test()
MsgBox '''Mes Documents'' = ' & DSpec(5)
End Sub
Private Function DSpec(nFolder As Long) As String
Dim Pidl As Long
SHGetSpecialFolderLocation 0, nFolder, Pidl
DSpec = Space(260)
SHGetPathFromIDList Pidl, DSpec
DSpec = Left$(DSpec, InStr(1, DSpec, vbNullChar) - 1)
End Function
'Liste des codes les plus intéressant:
' 0 --> Bureau
' 2 --> Menu Démarrer\\Programmes
' 5 --> Mes Documents
' 6 --> Favoris
' 7 --> Menu Démarrer\\Programmes\\Démarrage
' 8 --> Recent
' 9 --> SendTo
'11 --> Menu Démarrer
'16 --> Bureau
'19 --> Voisinage réseau
'20 --> Fonts
'21 --> ShellNew
'25 --> All users\\Bureau
'26 --> Application Data
'27 --> PrintHood
'32 --> Temporary Internet Files
'33 --> Cookies
'34 --> Historique