' Copiez ce code sur une Form ' Option Explicit ' Private Const CSIDL_PERSONAL As Long = &H5 ' Private Type SHITEMID cb As Long abID As Byte End Type ' Private Type ITEMIDLIST mkid As SHITEMID End Type ' Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" _ (ByVal hwndOwner As Long, ByVal nFolder As Long, _ pidl As ITEMIDLIST) As Long Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" _ (ByVal pidl As Long, ByVal pszPath As String) As Long ' ' Private Sub Form_Load() MsgBox GetMyDocumentsFolder Unload Me End Sub ' ' Private Function GetMyDocumentsFolder() As String Dim lRet As Long, IDL As ITEMIDLIST, sPath As String lRet = SHGetSpecialFolderLocation(100&, CSIDL_PERSONAL, IDL) If lRet = 0 Then sPath = String$(512, Chr$(0)) lRet = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal sPath) GetMyDocumentsFolder = Left$(sPath, InStr(sPath, Chr$(0)) - 1) Else GetMyDocumentsFolder = vbNullString End If End Function
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.