Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBS] Objet Shell.application : BrowseForFolder

8 réponses
Avatar
moi
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

8 réponses

Avatar
Gilles LAURENT
"moi" a écrit dans le message de
news:%236tOv%
| 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
Avatar
moi
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
Avatar
moi
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

Avatar
Gilles LAURENT
"moi" a écrit dans le message de
news:OzMmd%
| 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
http://glsft.free.fr
Avatar
Gilles LAURENT
"moi" a écrit dans le message de
news:
| 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.

--
Gilles LAURENT
http://glsft.free.fr
Avatar
moi
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

Avatar
bryanbrown
Le dimanche 07 Janvier 2007 à 23:09 par moi :
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
Je remonte le sujet car je cherche la fonction désactivation de la possibilité créer un nouveau dossier.
Merci.
Avatar
bryanbrown
Le samedi 06 Janvier 2007 à 17:28 par moi :
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
je me répond seul: Const BIF_nonenewfolderbutton= &H0200