Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[VBS] Objet Shell.application : BrowseForFolder

5 views
Skip to first unread message

moi

unread,
Jan 6, 2007, 11:28:55 AM1/6/07
to
Bonjour,

avec
Set ShApp = Wscript.CreateObject("shell.application")
la ligne
Set ObjetFolder = ShApp.BrowseForFolder(H, Titre, F, [R])

retourne un objet Folder ...

J'ai passé pas mal de temps à fouiller MSDN
mais il me reste des questions ... ( 4 en fait)

1. H (Long) : Handle de la fenètre ...
Je peux mettre zéro
En vbs, est-il utile/important de mettre autre chose ?


2. Titre (String) : Titre qui sera DANS la fenètre
le titre DE la fenètre
est-il toujours "Rechercher un dossier" ?
ou bien cela change peut-être avec F
( qui reste un mystère )

3. F : Drapeau (UlFlags) indiquant les options de recherche(?)... (
peut valoir 0)

J'ai trouvé une liste de mots réservés mais je crains qu'en VBS, il
ne faille fournir les valeurs numériques. Où puis-je trouver ces
valeurs ???
( les exemples de scripts trouvés utilisent en général, 0 ou 1 )

4. R: (facultatif) Racine de départ de la recherche ...
Chemin ( pas de pb)
ou
"Shell-Special-Folder-Constant "
j'ai trouvé la liste des valeurs
mais 2 "dossiers" restent mystérieux :
- COMMONALTSTARTUP (30)
- ALTSTARTUP (29)
qui signifie "nonlocalized" ??? dans le contexte ... en français
simple )

Merci d'avance,

Bien cordialement,

HB

Gilles LAURENT

unread,
Jan 6, 2007, 3:41:44 PM1/6/07
to
"moi" <m...@pas.la.ici> a écrit dans le message de
news:%236tOv%23aMH...@TK2MSFTNGP06.phx.gbl
| Bonjour,

Bonjour,

| avec
| Set ShApp = Wscript.CreateObject("shell.application")
| la ligne
| Set ObjetFolder = ShApp.BrowseForFolder(H, Titre, F, [R])
|
| retourne un objet Folder ...
|
| J'ai passé pas mal de temps à fouiller MSDN
| mais il me reste des questions ... ( 4 en fait)
|
| 1. H (Long) : Handle de la fenètre ...
| Je peux mettre zéro
| En vbs, est-il utile/important de mettre autre chose ?

Le handle de la fenêtre mère. Si vous disposez d'un handle de fenêtre
alors vous pouvez le spécifier ici sinon il faut spécifier la valeur '0'
qui signifie que la fenêtre de sélection ne possède pas de parent. C'est
généralement la valeur '0' qui est spécifiée en scripting.

| 2. Titre (String) : Titre qui sera DANS la fenètre
| le titre DE la fenètre
| est-il toujours "Rechercher un dossier" ?
| ou bien cela change peut-être avec F
| ( qui reste un mystère )

C'est le sous-titre de la fenêtre de sélection (i.e le titre à
l'intérieur de la fenêtre). Le titre principal de la fenêtre peut
éventuellement changer en fonction des flags spécifiés donc des objets
recherchés.

| 3. F : Drapeau (UlFlags) indiquant les options de recherche(?)... (
| peut valoir 0)
|
| J'ai trouvé une liste de mots réservés mais je crains qu'en VBS, il
| ne faille fournir les valeurs numériques. Où puis-je trouver ces
| valeurs ???

Dans le fichier include <shlobj.h> du SDK Microsoft.

La version wine (donc non MS) est disponible ici :
http://source.winehq.org/source/include/shlobj.h

| ( les exemples de scripts trouvés utilisent en général, 0 ou 1 )

C'est ici que cela se complique ;-)
Très peu d'options sont supportées en scripting. Je vous laisse le soin
de tester les différentes combinaisons possibles. J'ai mis en
commentaire les valeurs à priori non supportées (l'interface de
sélection s'affiche mais le résultat n'est pas celui escompté) :

0 (defaut) : Sélection d'un dossier (recommandé)
' BIF_RETURNONLYFSDIRS (1)
' BIF_DONTGOBELOWDOMAIN (2)
' BIF_STATUSTEXT (4)
' BIF_RETURNFSANCESTORS (8)
BIF_EDITBOX (16)
' BIF_VALIDATE (32)
' BIF_NEWDIALOGSTYLE (64)
' BIF_USENEWUI (80)
' BIF_BROWSEINCLUDEURLS (128)
BIF_NONEWFOLDERBUTTON (512)
' BIF_BROWSEFORCOMPUTER (4096)
' BIF_BROWSEFORPRINTER (8192)
BIF_BROWSEINCLUDEFILES (16384)

| 4. R: (facultatif) Racine de départ de la recherche ...
| Chemin ( pas de pb)
| ou
| "Shell-Special-Folder-Constant "
| j'ai trouvé la liste des valeurs
| mais 2 "dossiers" restent mystérieux :
| - COMMONALTSTARTUP (30)
| - ALTSTARTUP (29)
| qui signifie "nonlocalized" ??? dans le contexte ... en français
| simple )

non localized = non traduit dans la langue de l'utilisateur
Par exemple : "Démarrage (Fr)" = "Startup (En)"
Je pense que ces CSIDL ne sont supportés que sur les versions MUI

J'espère que cela pourra vous aider.

--
Gilles LAURENT
http://glsft.free.fr


moi

unread,
Jan 7, 2007, 8:28:20 AM1/7/07
to
Bonjour,

Merci beaucoup pour cette longue réponse documentée.
A part le cours du Camembert en Nouvelle Guinée, il n'y manque rien !
:o)

Merci encore,

Décidément, on ne le dira jamézassé, ce NG est exceptionnel.
Prions, en cette nouvelle année, pour qu'il reste ainsi !

A+

HB


moi

unread,
Jan 7, 2007, 8:41:41 AM1/7/07
to
En core moi,

Re-bonjour,

> 0 (defaut) : Sélection d'un dossier (recommandé)
> ' BIF_RETURNONLYFSDIRS (1)
> ' BIF_DONTGOBELOWDOMAIN (2)
> ' BIF_STATUSTEXT (4)
> ' BIF_RETURNFSANCESTORS (8)
> BIF_EDITBOX (16)
> ' BIF_VALIDATE (32)
> ' BIF_NEWDIALOGSTYLE (64)
> ' BIF_USENEWUI (80)
> ' BIF_BROWSEINCLUDEURLS (128)
> BIF_NONEWFOLDERBUTTON (512)
> ' BIF_BROWSEFORCOMPUTER (4096)
> ' BIF_BROWSEFORPRINTER (8192)
> BIF_BROWSEINCLUDEFILES (16384)
>

Petite précision : Chez MS, ils citent aussi ces quatre là ...

BIF_NOTRANSLATETARGETS
BIF_RETURNFSANCESTORS
BIF_SHAREABLE
BIF_UAHINT

A+

HB

Gilles LAURENT

unread,
Jan 7, 2007, 1:51:45 PM1/7/07
to
"moi" <m...@pas.la.ici> a écrit dans le message de
news:OzMmd%23lMHH...@TK2MSFTNGP06.phx.gbl
| Bonjour,

Bonjour,

| Merci beaucoup pour cette longue réponse documentée.
| A part le cours du Camembert en Nouvelle Guinée, il n'y manque rien !

Merci ;-)

| Décidément, on ne le dira jamézassé, ce NG est exceptionnel.
| Prions, en cette nouvelle année, pour qu'il reste ainsi !

Etant donné la régularité de présence des contributeurs sur ce forum, je
suis persuadé que cela restera ainsi. Merci pour cette appréciation et
n'hésitez pas à revenir vers nous ;-)

Gilles LAURENT

unread,
Jan 7, 2007, 2:23:46 PM1/7/07
to
"moi" <m...@pas.la.ici> a écrit dans le message de
news:ODDP7FmM...@TK2MSFTNGP06.phx.gbl
| Re-bonjour,

Bonjour,

| Petite précision : Chez MS, ils citent aussi ces quatre là ...
|
| BIF_NOTRANSLATETARGETS
| BIF_RETURNFSANCESTORS
| BIF_SHAREABLE
| BIF_UAHINT

En effet et voici les valeurs de ces options :

' BIF_NOTRANSLATETARGETS (1024)
' BIF_RETURNFSANCESTORS (8)
' BIF_SHAREABLE (32768)
BIF_UAHINT (256)

Encore une fois, vous pouvez ignorer ces options en scripting. Seule
peut-être l'option 'BIF_UAHINT' peut vous intéresser si vous souhaitez
voir apparaitre une aide utilisateur vous indiquant de cliquer sur un
signe plus pour ouvrir un sous-dossier :-)

Merci pour ce retour.

moi

unread,
Jan 7, 2007, 5:09:21 PM1/7/07
to
Notre ami Gilles LAURENT tapota :

>
> En effet et voici les valeurs de ces options :
>
> ' BIF_NOTRANSLATETARGETS (1024)
> ' BIF_RETURNFSANCESTORS (8)
> ' BIF_SHAREABLE (32768)
> BIF_UAHINT (256)
>
> Encore une fois, vous pouvez ignorer ces options en scripting. Seule
> peut-être l'option 'BIF_UAHINT' peut vous intéresser si vous
> souhaitez
> voir apparaitre une aide utilisateur vous indiquant de cliquer sur
> un
> signe plus pour ouvrir un sous-dossier :-)

Salut,


En fait cette "aide bibon" est toujours présente me semble-t-il ...
Supprimer ou non la possibilité de créer un nouveau dossier est une
option "pertinente" à mon sens. En revanche je ne vois pas trop le but
de BIF_BROWSEINCLUDEFILES qui permet de voir ET de sélectionner un
fichier puisque l'objet retourné devrait être un objet Folder...

A+

et encore merci,

HB


bryanbrown

unread,
Mar 9, 2018, 8:12:34 AM3/9/18
to
Le dimanche 07 Janvier 2007 à 23:09 par moi :
Je remonte le sujet car je cherche la fonction désactivation de la possibilité
créer un nouveau dossier.

Merci.

bryanbrown

unread,
Mar 13, 2018, 3:14:24 AM3/13/18
to
Le samedi 06 Janvier 2007 à 17:28 par moi :
je me répond seul: Const BIF_nonenewfolderbutton= &H0200

0 new messages