Flux rss
Collection CommentCaMarche.net

[VBA/VB6] Rép. Mes Documents+Variables Environnement

Publié par lermite222, dernière mise à jour le jeudi 20 novembre 2008 à 17:07:07 par Ssylvainsab
Dans l'explorateur de fichiers, le dossier Mes Documents semble être sur le root, or ce n'est pas le cas. Il est situé dans un sous-répertoire de C:\Documents and Settings. Le hic, c'est que le premier sous-répertoire prend le nom de l'utilisateur et change donc non seulement d'un PC à l'autre, mais également sur un PC multi-utilisateurs.
Le code ci-dessous permet d'avoir le répertoire de Mes Documents quel que soit l'utilisateur connecté.
Collez ce code dans un module général :

Option Explicit

Private Type SHITEMID
    cb As Long
    abID As Byte
End Type
Private Type ITEMIDLIST
    mkid As SHITEMID
End Type
Private Const CSIDL_PERSONAL As Long = &H5
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


Public Function Rep_Documents() 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)
        Rep_Documents = Left$(sPath, InStr(sPath, Chr$(0)) - 1)
    Else
        Rep_Documents = vbNullString
    End If
End Function

Exemple d'appel : Dans une feuille, collez un bouton et dans le code du bouton, collez
Private Sub CommandButton1_Click()
    Cells(5, 2) = Rep_Documents()
End Sub




Plus simple sous VB6


Sous VB6, il vous suffit d'exploiter la variable d'environnement UserProfile :
Ceci ne marche pas sous macintosh.

Fonctionne aussi sous VBA


Dim sPathUser as String
sPathUser = Environ$("USERPROFILE") & "\mes documents\"
MsgBox sPathUser

Fonctions Environnement


La fonction Environ$ sert à recevoir la valeur d'une variable d'environnement.
Par exemple, si vous auriez mis WINDIR (sous Windows), vous auriez obtenu le dossier où est installé Windows (par défaut C:\Windows\).
Oui, oui : ce sont bien les variables que vous pouvez utiliser aussi bien en Batch que dans la boite de dialogue Exécuter. Également dans un environnement de programmation tel que VB et VBA.
Sous Windows, faites la touche Windows + R (ou menu démarrer ► Exécuter) et tapez %UserProfile%, vous atterrissez dans le dossier de l'utilisateur actuel. Tapez "%UserProfile%\Mes documents" pour atterrir dans vos documents, ou tapez %WinDir% pour le dossier de Windows ... ou encore %tmp% pour les dossiers temporaires, etc ...

Variables Windows


Variables utilisateur par défaut
  • TEMP Répertoire temporaire.
  • TMP Répertoire temporaire.

Variables système

  • ComSpec Chemin d'accès pour l'interpréteur de commandes.
  • FP_NO_HOST_CHECK ?
  • NUMBER_OF_PROCESSORS ?
  • OS Renvoie l'OS en cours d'utilisation.
  • Path ?
  • PATHEXT ?
  • PROCESSOR_ARCHITECTURE Renvoie l'architecture du processeur (x86 etc ...)
  • PROCESSOR_IDENTIFIER Renvoie les identifiants du processeur.
  • PROCESSOR_LEVEL ?
  • PROCESSOR_REVISION Renvoie le N° de révision du processeur.
  • TEMP Répertoire temporaire.
  • TMP De même.
  • windir Dossier où est installé Windows.
  • SystemRoot De même.

Annexe


Si vous êtes administrateur, vous pouvez aussi changer les valeurs ou ajouter des variables d'environnement en allant dans le Panneau de configuration (en affichage classique) ► System ► Avancé ► Variables d'environnement.
Et normalement vous verrez ce que j'ai écrit.
(fait avec Windows XP Pro).

Résultats pour Rép. Mes Documents+Variables Environnement

Help pour config fic variable environnement (Résolu) Bonjour, J'ai une Redhat 9.1 je voudrais connaitre les fichiers de config qui concernent les variables environnements des users. pour que lorsque je tape une commande par exemple mkdir , que je n'ai plus à le faire depuis /usr/sbin. ou... www.commentcamarche.net/forum/affich-4684870-help-pour-config-fic-variable-environnement
Modier une variable d'environnement (Résolu) salut, je viens de faire une recherche sur le net afin de trouver une manière pour modifier une variable environnement. j'ai un logiciel qui s'appelle wget qui marche avec l'invite commende et je souhaite créer une variable pour y... www.commentcamarche.net/forum/affich-8300172-modier-une-variable-d-environnement
[Batch] Les variables d'environement (Résolu) Bonjour, Je voulais vous demander si toutes les variables d'environnements du langages de programmation batch ce situent ici: http://www.commentcamarche.net/systemes/variables environnement.php3 Je voulais juste m'en assurer... merci... www.commentcamarche.net/forum/affich-6737521-batch-les-variables-d-environement

Résultats pour Rép. Mes Documents+Variables Environnement

[MySQL] Illegal mix of collations (latin1_swedish_ci,IMPLICIT)Sous phpMyAdmin vous obtenez l'erreur suivante : MySQL a répondu:Documentation #1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' Ceci est dû à l'ajout des "collations" sous MySQL... www.commentcamarche.net/faq/sujet-1245-mysql-illegal-mix-of-collations-latin1-swedish-ci-implicit
[Bash] La variable d'environnement PATHLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou... www.commentcamarche.net/faq/sujet-3585-bash-la-variable-d-environnement-path
Modifier une variable en lecture seuleSolution 1 Une variable declarée en lecture seule ne peux pas être modifier dans le processus en cours. Toutefois si la variable est exportée dans un shell fils elle pourra être modifiée.#!/bin/bash if [ "$PROC_PID" != "$PPID" ]; then export... www.commentcamarche.net/faq/sujet-8011-modifier-une-variable-en-lecture-seule

Résultats pour Rép. Mes Documents+Variables Environnement

Sous VISTA bouton document menu demarrer HS (Résolu)Bonjour, je viens d'acquerir un nouveau PC sous Windows vista. à des déplacements malencontreux de repertoire, j'ai perdu le lien avec le repertoire "documents" depuis le bouton document du menu droit demarrer Windows vista. pas moyen de... www.commentcamarche.net/forum/affich-2805927-sous-vista-bouton-document-menu-demarrer-hs
Documents piégées (Résolu)Bonjour , En ajoutant un mot de passe a ma session il y a l’option rendre privée je l’ai effectuée ensuite j’ai voulu réinstaller le système d’exploitation. Au lieu de copier les documents un a un j’ai copier le répertoire Documents and Settings dans... www.commentcamarche.net/forum/affich-7314827-documents-piegees
Modele de conception Fabrique [Java] (Résolu)Bonsoir à tous, J'ai trouvé une documentation variée sur le design pattern Factory (ou en français modèle de conception Fabrique) sans pouvoir trouver un exemple de base simple et complet. Celui qui s'en rapproche, c'est le squelette... www.commentcamarche.net/forum/affich-1965166-modele-de-conception-fabrique-java

Résultats pour Rép. Mes Documents+Variables Environnement

Siemens Gigaset C475C 475,Sans-fil,Présentation du numéro appelant,Répondeur,Présentation du numéro appelant,Répertoire,Répondeur,Divers:Variable reduction of the transmitting power,Couleur:Black,Nombre de combinés inclus:1,Nombre maximal de combinés:6,Prise pour... www.commentcamarche.net/guide-achat/siemens-gigaset-c475-991777-fiche-technique

Résultats pour Rép. Mes Documents+Variables Environnement

Prix du reportage multimédia : le jury récompense un docu sur le recyclage des CD et DVD(Paris - Relax news) - MSN.fr et Rue89 ont lancé la première édition du concours "Prix du reportage multimédia" avec comme thème cette année l'environnement. Plus d'une centaine de vidéos ont été créées par les internautes. Les prix, qui ont été remis... www.commentcamarche.net/actualites/prix-du-reportage-multimedia-le-jury-recompense-un-docu-sur-le-recyclage-des-cd-et-dvd-5846654-actualite.php3

Résultats pour Rép. Mes Documents+Variables Environnement

Variables d'environnementVariables d'environnement Une variable d'environnement est une valeur dynamique, chargée en mémoire, pouvant être utilisée par plusieurs processus fonctionnant simultanément. Sur la plupart des systèmes d'exploitation, les emplacement de certaines... www.commentcamarche.net/contents/systemes/variables-environnement.php3
PHP - Les variables d'environnementNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script... www.commentcamarche.net/contents/php/phpenv.php3
CGI - Les variables d'environnementNotion de variable d'environnement Les variables d'environnement sont des données stockées dans des variables du système et permettent aux programmes d'avoir des informations sur son environnement. Dans le cas du programme CGI, l'environnement est... www.commentcamarche.net/contents/cgi/cgienv.php3