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

VBScript Discussion :

Equivalent de BrowseForFolder pour les fichiers [FAQ]


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut Equivalent de BrowseForFolder pour les fichiers
    Bonjour,
    Je souhaite faire apparaître dans un script VBS une boite de sélection graphique de fichier, telle que celle fournit pour les dossiers par la fonction BrowseForFolder.
    J'ai bien essayé de détourner l'utilisation de cette fonction en faisant apparaître les fichiers avec l'option BrowseIncludeFiles mais ça ne fonctionne pas et me sort une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le fichier spécifié est introuvable.
    sur la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set objFichier = objShell.BrowseForFolder(&H0&, "Choisir le fichier", conReturnOnlyFSDirs + conNoNewFolderButton + conBrowseIncludeFiles)
    Voici mon code :
    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
    Function funcSelectionFichier
       Const conReturnOnlyFSDirs = &H1
       Const conNoNewFolderButton = &H200
       Const conBrowseIncludeFiles = &H4000
     
       Dim objShell, objFichier, objFichierChoisi
     
       Set objShell = CreateObject("Shell.Application")
       Set objFichier = objShell.BrowseForFolder(&H0&, "Choisir le fichier", conReturnOnlyFSDirs + conNoNewFolderButton + conBrowseIncludeFiles)
     
       If objFichier Is Nothing Then
          MsgBox "Vous n'avez rien sélectionné", vbCritical, "Abandon"
          Wscript.Quit
       Else
          Set objFichierChoisi = objFichier.Self
          funcSelectionFichier = objFichierChoisi.Path
       End If
     
       Set objShell = Nothing
       Set objFichier = Nothing
       Set objFichierChoisi = Nothing
    End Function
    Existe-t-il une fonction pour les fichiers directement implémentée ? ou bien faut-il que je modifie mon code (si oui, en quoi ?) ?
    Par avance, merci.

    Un lien sur la FAQ ici et 2 liens sur MSDN pour aider :
    BrowseForFolder
    BrowseInfo (les options)

  2. #2
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662

  3. #3
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 302
    Par défaut
    salut,
    comme son nom l'indique BrowseForFolder n'est pas équivalent à BrowseForFiles
    deux solutions:
    - écrire ou trouver un composant activex qui saura faire le boulot
    ex: http://www.jsware.net/jsware/scripts.php3
    - attaquer directement la comdlg32.dll "comme les grands"
    voir l'exemple dans les contributions: http://www.developpez.net/forums/sho...d.php?t=333644
    (profites-en c'est ma seule contrib à ne pas avoir été délestée...)
    nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
    le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
    pas de questions techniques par mp

  4. #4
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    C'est bien ce que je pensais, ça va être bien compliqué pour l'utilisation que je vais en avoir de ce script... Il est dommage qu'ils implémentent une sélection graphique de dossier mais pas de fichier... Tant pis, je vais me débrouiller autrement . En tout cas, merci beaucoup pour vos réponses

  5. #5
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    Salut,

    voici une méthode que j'ai trouvé sur le net et qui me convient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set objDialog=CreateObject("SAFRCFileDlg.FileOpen")
    ObjDialog.OpenFileOpenDlg
    OpenFile=objDialog.FileName


    Pour récupérer le nom du fichier selectionné, tu fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    strFileName=objDialog.FileName
    MsgBox strFileName
    en espérant que ca puisse t'aider.
    A++

  6. #6
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    la classe ! Pile poil ce qu'il me fallait !! Merci beaucoup !

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

Discussions similaires

  1. [XSD] Equivalent du <choice> pour les attribut
    Par BigOne55 dans le forum Valider
    Réponses: 6
    Dernier message: 14/03/2014, 19h24
  2. Equivalant TFileStream pour les fichier texte
    Par bubulemaster dans le forum Débuter
    Réponses: 5
    Dernier message: 28/01/2010, 10h46
  3. [Free Pascal] Equivalent de FileSize pour les fichiers texte
    Par richard dans le forum Free Pascal
    Réponses: 4
    Dernier message: 08/12/2008, 22h41
  4. [CSV] Détecter le séparateur pour les fichiers CSV
    Par JavaEli dans le forum Langage
    Réponses: 1
    Dernier message: 30/11/2005, 23h42
  5. [Excel] séparateur pour les fichiers csv
    Par drinkmilk dans le forum Excel
    Réponses: 2
    Dernier message: 27/08/2005, 14h21

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