IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Recherche fonctions rendant la valeur [Trucs & Astuces]


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2002
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Recherche fonctions rendant la valeur
    des rép. systèmes Win.
    Fonction permettant de récupérer la valeur des répertoires users ou system, du genre pour un user :
    c:\documents and settings\administrateur
    ou le répertoire système de windows.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 208
    Points : 136
    Points
    136
    Par défaut
    Utilise l'API:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Private Declare Function GetUserProfileDirectory Lib "userenv.dll" Alias "GetUserProfileDirectoryA" (ByVal hToken As Long, ByVal lpProfileDir As String, lpcchSize As Long) As Boolean
    Attention! cette API n'est dispo que sur Win2000 or later

  3. #3
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Un exemple avec VScript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim WSHShell, DesktopPath 
     
    Set WSHShell = CreateObject("WScript.Shell")
     
    ' Read desktop path using WshSpecialFolders object
    DesktopPath = WSHShell.SpecialFolders("Desktop")
    il y a d'autres solutions mais c'est une possibilité
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  4. #4
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    ajouter une référence à windows script host object model (wshom.ocx)
    l'exemple de code suivant parcours tous les élément récupérables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Command1_Click()
     
    Dim MonShell As WshShell, chemSpecial As Variant
     
    Set MonShell = New WshShell
    For Each chemSpecial In MonShell.SpecialFolders
        Debug.Print chemSpecial
    Next
     
    End Sub
    pour en récupérer un particulier, par exemple mesdocuments
    chemSpecial = MonShell .SpecialFolders("MyDocuments")

    pour récupérer les répertoires systèmes, utiliser la méthode GetSpecialForlder du filesystemobject

  5. #5
    Fox
    Fox est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2002
    Messages : 52
    Points : 52
    Points
    52
    Par défaut
    Voilà pour le répertoire SYSTEM :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" ( _
                     ByVal lpBuffer As String, _
                     ByVal nSize As Long) As Long 
     
    Public Function SystemDirectory() As String
    ' Retourne le chemin du répertoire système de windows
    Dim stTmp As String, lgTmp As Long
    stTmp = Space$(250)
    lgTmp = 251
    Call GetSystemDirectory(stTmp, lgTmp)
    SystemDirectory = Split(stTmp, Chr$(0))(0)
    End Function
    @+

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Bon j'y vais de ma petite réponse aussi alors...

    Voilà ce que j'ai trouvé il y a quelque temps :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Function GetSpecialFolder(FolderName) ' si on met as string ca marche pas ??????
    'donne le chemin d'un répertoire spécial à partir de son nom ou de son ID
     
    'Liste de repértoire spéciaux:
    'Nom                             : ID
     
    'AllUsersDesktop     :0
    'AllUsersStartMenu :1
    'AllUsersPrograms    :2
    'AllUsersStartup     :3
    'Desktop                     :4 10        Si qqun c'est pourquoi il y a deux ID pour desktop
    'AppData                     :5
    'PrintHood                 :6
    'Templates                 :7
    'Fonts                         :8
    'NetHood                     :9
    'StartMenu                 :11
    'SendTo                        :12
    'Récent                        :13
    'Startup                     :14
    'Favorites                 :15
    'MyDocuments             :16
    'Programs                    :17
     
    'Normalement il n'y en a pas plus car un nombre plus petit que 0 ou plus grand que 17
     
    Dim WSHShell As Object
    Set WSHShell = CreateObject("WScript.Shell")
    GetSpecialFolder = WSHShell.SpecialFolders(FolderName)
    End Function
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Macro pour rechercher une valeur en fonction de la valeur d'une cellule
    Par Rook93 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/01/2013, 11h42
  2. Réponses: 1
    Dernier message: 28/11/2012, 16h01
  3. Réponses: 5
    Dernier message: 18/09/2009, 17h00
  4. Réponses: 5
    Dernier message: 26/05/2009, 09h03
  5. rechercher dans un tableau en fonction de la valeur d'une cellule
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/06/2007, 10h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo