VBA / VB6 - Mes documents + Variables d'environnement
Comme indiqué dans l'Explorateur Windows, le dossier Mes documents semble être à la racine, mais ce n'est pas le cas. Il se trouve dans un sous-répertoire de C: \ Documents and Settings. Le problème est que ce sous-répertoire prend le nom de l'utilisateur et est modifié non seulement d'un PC à un autre, mais également sur les PC prenant en charge plusieurs utilisateurs.
Les codes suivants vous permettent d'accéder au dossier Mes documents par défaut, quel que soit l'utilisateur connecté.
Avec VBA
Il suffit de coller le code suivant dans un module général:Option explicite
Type privé SHITEMID
cb aussi longtemps
abID comme Byte
Type de fin
Type privé ITEMIDLIST
mkid comme SHITEMID
Type de fin
Const privée CSIDL_PERSONAL As Long = & H5
Privé Declare Fonction SHGetSpecialFolderLocation Lib "shell32.dll" _
(ByVal hwndOwner As Long, ByVal nFolder As Long, _
pidl As ITEMIDLIST) As Long
Privé Déclare Fonction SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" _
ByVal pidl As Long, ByVal pszPath As Chaîne As Long
Fonction publique Rep_Documents () As String
Dim lRet As Long, IDL As ITEMIDLIST, sPath As String
lRet = SHGetSpecialFolderLocation (100 &, CSIDL_PERSONAL, IDL)
Si lRet = 0 alors
sPath = Chaîne $ (512, Chr $ (0))
lRet = SHGetPathFromIDList (ByVal IDL.mkid.cb, ByVal sPath)
Rep_Documents = Left $ (sPath, InStr (sPath, Chr $ (0)) - 1)
Autre
Rep_Documents = vbNullString
Fin si
Fonction de fin
Pour appeler la fonction, créez simplement un bouton et collez le code suivant:
Private Sub CommandButton1_Click ()
Cellules (5, 2) = Rep_Documents ()
End Sub
Avec VB6
Sous VB6, utilisez la variable d’environnement UserProfile (cela fonctionne également avec VBA):Dim sPathUser as StringsPathUser = Environ $ ("USERPROFILE") & "\ mes documents \"
MsgBox sPathUser
Fonctions d'environnement
La fonction Environ $ est utilisée pour recevoir la valeur d'une variable d'environnement.Par exemple, lorsque vous avez utilisé la commande WINDIR (Windows), vous avez obtenu le dossier dans lequel Windows est installé (C: \ Windows \).
Ces variables peuvent être utilisées dans des fichiers de commandes, via l'utilitaire Exécuter et dans un environnement de programmation tel que VB et VBA.
- Taper% UserProfile% fait référence à l'utilisateur actuel.
- Taper% UserProfile% \ My Documents "fait référence au dossier Mes documents.
- Taper% WinDir% obtient le dossier Windows.
- Taper% tmp% vous donne accès à des fichiers temporaires.
Variables Windows
- Variables pour l'utilisateur par défaut
- Répertoire temporaire TEMP
- Répertoire temporaire TMP
- Variables système
- Chemin ComSpec variable pour l'invite de commande.
- FP_NO_HOST_CHECK?
- NUMBER_OF_PROCESSORS?
- OS Retourne le système d'exploitation utilisé.
- Chemin?
- PATHEXT?
- PROCESSOR_ARCHITECTURE Retourne l'architecture du processeur (x86 etc ...)
- PROCESSOR_IDENTIFIER Renvoie l'ID du processeur.
- PROCESSOR_LEVEL?
- PROCESSOR_REVISION Renvoie le nombre de révisions du processeur.
- Répertoire temporaire TEMP.
- Répertoire temporaire TMP.
- dossier windir où Windows est installé.
- Dossier SystemRoot où Windows est installé.