OVH Cloud OVH Cloud

BrowseForFolder

26 réponses
Avatar
Gilles RONSIN
Salut,

je m'amuse à créér un générateur de raccourci dossier nouvelle
formule (target.lnk) et j'ai des soucis avec la fonction
BrowseForFolder.

Je me suis fortement (même complêtement) inspiré de l'exemple de JCB
http://www.bellamyjc.org/fr/vbsavance.html#selectfolder (au fait si
tu lis tu as titre="...." suivi de shell.BrowseForFolder(0,title,...)
)

mais quand j'exécute


Set Item=shellApp.BrowseForFolder(0,"Dossier où placer la cible du
dossier """ & folder & """", &h0001 ,"")

If isvalue(Item) then
Lnk=Item.Title
wscript.echo "lnk=" & lnk
If InStr(1,Lnk,":")=0 Then
Lnk=Item.ParentFolder.ParseName(Item.Title).Path & ""
End If
wscript.echo "sélectionné : " & lnk
Else
wscript.quit
End If

j'ai l'erreur
Objet requis: 'Item.ParentFolder.ParseName(...)'

Pouvez vous m'en dire plus ?
Merci

--
Embryon de site : http://gilles.ronsin.free.fr
Nouvelles astuces : Interprêtation des évenements XP en "français"
(trad auto)
Il est impossible pour un optimiste d'être agréablement surpris.

6 réponses

1 2 3
Avatar
Gilles RONSIN
"Daniel92" , le sam. 04 sept. 2004
14:33:28, écrivait ceci:

Hello,

*** Je lis le fil et regarde ce qui te manque, mais
... on prendra le temps qu'il faut, ...j'apprends en
même temps. Je l'ai mis dans un vbs ouvert avec
Vbs factory, mais pas encore essayé.
Je te tiens au courant, sinon tu peux rajouter de
l'info, je le surveille.

** J'ai remarqué aussi que quand tu essayes de
le supprimer par Maj/Suppr, il le traite comme
un fichier system, (probablement sa construction
avec target.lnk). Il serait bien aussi pour l'utilisateur,
de faire un vbs qui permette de le supprimer en
sautant l'affichage de ce message système qui
risque de dérouter l'utilisateur.


Pour résumer :
depuis w2k, il est apparu un nouveau type de raccourcis : les dossiers
cibles. L'avantage est que le comportement du raccourcis est le même
qu'un dossier system: exemple si tu mets un tel type de raccourci dans
mes documents sur documents partagés, le dossier documents partagés
apparait comme sous dossier de mes documents !. Mets un tel raccourci
dans le dossier quick lunch et tu vas avoir une surprise :-)

L'inconvénient est qu'à priori la méthode pour créer un tel raccourci
est lourde, utilisation de l'explorateur (ce que je n'aime pas du
tout), copie d'un dossier, ouverture du menu démarrer, création du
raccourci, déplacement du raccourci à l'endroit souhaité...c'est lourd.

D'où mon idée de créér un script qui réalise toutes les fonctions
nécessaire à la création d'un tel raccourci (création d'un dossier du
nom de celui à cibler, dans ce dossier, création d'un desktop.ini
particulier ainsi qu'un raccourci standard de nom target.lnk)
Ce qui manque c'est de rajouter la fonction d'inscription (et de
désinscription) dans la base de registre, dans le menu contextuel des
dossiers. Ainsi clic droit sur un dossier, créer une cible, génère
automatiquement à l'endroit voulu un raccourci cible

Tu veux t'y coller ? :-)

--
Embryon de site : http://gilles.ronsin.free.fr
Nouvelles astuces : Interprêtation des évenements XP en "français"
(trad auto)
Il est impossible pour un optimiste d'être agréablement surpris.

Avatar
Daniel92
Bonjour,

"Gilles RONSIN" a écrit

"Daniel92", le sam. 04 sept. 2004 14:33:28, écrivait ceci:

Hello,

*** Je lis le fil et regarde ce qui te manque, mais
... on prendra le temps qu'il faut, ...j'apprends en
même temps. Je l'ai mis dans un vbs ouvert avec
Vbs factory, mais pas encore essayé.
Je te tiens au courant, sinon tu peux rajouter de
l'info, je le surveille.

** J'ai remarqué aussi que quand tu essayes de
le supprimer par Maj/Suppr, il le traite comme
un fichier system, (probablement sa construction
avec target.lnk). Il serait bien aussi pour l'utilisateur,
de faire un vbs qui permette de le supprimer en
sautant l'affichage de ce message système qui
risque de dérouter l'utilisateur.


Pour résumer :
depuis w2k, il est apparu un nouveau type de raccourcis : les dossiers
cibles. L'avantage est que le comportement du raccourcis est le même
qu'un dossier system: exemple si tu mets un tel type de raccourci dans
mes documents sur documents partagés, le dossier documents partagés
apparait comme sous dossier de mes documents !. Mets un tel raccourci
dans le dossier quick lunch et tu vas avoir une surprise :-)



** Euh ... tu n'as pas dû lire ce Fil et l'échange avec Alain Vouillon,
( c'est pour ça que je te parlais de droit d'auteur ... )
Objet :*Raccourci Folder particulier*
http://groups.google.fr/groups?threadmì


L'inconvénient est qu'à priori la méthode pour créer un tel raccourci
est lourde, utilisation de l'explorateur (ce que je n'aime pas du
tout), copie d'un dossier, ouverture du menu démarrer, création du
raccourci, déplacement du raccourci à l'endroit souhaité...c'est lourd.

D'où mon idée de créér un script qui réalise toutes les fonctions
nécessaire à la création d'un tel raccourci (création d'un dossier du
nom de celui à cibler, dans ce dossier, création d'un desktop.ini
particulier ainsi qu'un raccourci standard de nom target.lnk)
Ce qui manque c'est de rajouter la fonction d'inscription (et de
désinscription) dans la base de registre, dans le menu contextuel des
dossiers. Ainsi clic droit sur un dossier, créer une cible, génère
automatiquement à l'endroit voulu un raccourci cible

Tu veux t'y coller ? :-)



** Glooupps, cela va être un baptême du feu costaud,
... mais autant apprendre avec un sujet qui m'intéresse
et qui apporte quelque chose.
... Il te faudra être ... patient...


Amicalement,
Daniel.

-------------------------------------


Avatar
Gilles RONSIN
"Daniel92" , le dim. 05 sept. 2004
16:01:27, écrivait ceci:

Salut,

** Euh ... tu n'as pas dû lire ce Fil et l'échange avec Alain
Vouillon,
( c'est pour ça que je te parlais de droit d'auteur ... )
Objet :*Raccourci Folder particulier*
http://groups.google.fr/groups?threadmì
2.phx.gbl


Ah...c'était donc toi :-))
si j'avais vu ce fil, c'est ce qui m'a donné l'idée de faire une
commande plus simple d'emploi.
Mais n'ayant pas détaillé l'ensemble du contenu de tous les messages
(merci pour ceux qui n'élaguent pas les messages) je ne vois pas le
problème de droit d'auteur.

Tu veux t'y coller ? :-)
** Glooupps, cela va être un baptême du feu costaud,

... mais autant apprendre avec un sujet qui m'intéresse
et qui apporte quelque chose.
... Il te faudra être ... patient...


Aucun problème...
...ce pourrait d'ailleur être un exercice commun...à la GNU :-)

A savoir ceux qui veulent (de préférence les débutants) proposent une
solution, et ceux qui maitrisent, apportent leur commentaire pour
améliorer ou expliquer pourquoi il faut faire différemment.

Mini cahier des charges :

En se basant sur le squelette existant les fonctions à obtenir :
en mode ligne de commande :

targetlnk <chemin>
= récupération du dossier où placer la cible + création du raccourci

targetlnk sans argument
= affichage de la syntaxe targetlnk <dossier à cibler>
= proposition d'enregistrement dans le menu contextuel des dossiers ou
de désenregistrement si ça l'était déjà
indices : http://www.bellamyjc.org/fr/vbsobjets.html#wshshell

-pour l'accès à la BDR
clés concernées
HKCRFolderShell
-Créer une clé Cible avec comme valeur par défaut "Créer cible vers..."
-Créer une sous clé command avec comme valeur par défaut "<chemin du
vbs>targetlnk.vbs" "chemin du dossier à cibler"

pour la désinscription :
- suppression de l'arborescence HKCRFolderShellCible

A vos crayons ....


--
Embryon de site : http://gilles.ronsin.free.fr
Nouvelles astuces : Interprêtation des évenements XP en "français"
(trad auto)
Il est impossible pour un optimiste d'être agréablement surpris.


Avatar
Daniel92
"Gilles RONSIN" a écrit
"Daniel92", le dim. 05 sept. 2004 16:01:27, écrivait ceci:

Salut,

** Euh ... tu n'as pas dû lire ce Fil et l'échange avec
Alain Vouillon,
( c'est pour ça que je te parlais de droit d'auteur ... )
Objet :*Raccourci Folder particulier*

http://groups.google.fr/groups?threadmì



Ah...c'était donc toi :-))
si j'avais vu ce fil, c'est ce qui m'a donné l'idée de faire une
commande plus simple d'emploi.
Mais n'ayant pas détaillé l'ensemble du contenu de tous les messages
(merci pour ceux qui n'élaguent pas les messages) je ne vois pas le
problème de droit d'auteur.



*** Chétait t'une plaisanterie.

Tu veux t'y coller ? :-)
** Glooupps, cela va être un baptême du feu costaud,

... mais autant apprendre avec un sujet qui m'intéresse
et qui apporte quelque chose.
... Il te faudra être ... patient...


Aucun problème...
...ce pourrait d'ailleur être un exercice commun...à la GNU :-)



** ce serait génial

A savoir ceux qui veulent (de préférence les débutants) proposent une
solution, et ceux qui maitrisent, apportent leur commentaire pour
améliorer ou expliquer pourquoi il faut faire différemment.

Mini cahier des charges :

En se basant sur le squelette existant les fonctions à obtenir :
en mode ligne de commande :

targetlnk <chemin>
= récupération du dossier où placer la cible + création du raccourci

targetlnk sans argument
= affichage de la syntaxe targetlnk <dossier à cibler>
= proposition d'enregistrement dans le menu contextuel des dossiers ou
de désenregistrement si ça l'était déjà
indices : http://www.bellamyjc.org/fr/vbsobjets.html#wshshell


-pour l'accès à la BDR
clés concernées
HKCRFolderShell
-Créer une clé Cible avec comme valeur par défaut "Créer cible vers..."
-Créer une sous clé command avec comme valeur par défaut "<chemin du
vbs>targetlnk.vbs" "chemin du dossier à cibler"

pour la désinscription :
- suppression de l'arborescence HKCRFolderShellCible



** Peut-être aussi préciser à chaque fois la version de Windows
qu'on utilise? il peut y avoir des différences?


A vos crayons ....



** Bien Monsieur le Professeur,

Mon seul soucis est de ne pas faire de couennerie avec la BDR,
observer est une chose écrire dedans en est une autre.

J'ai déjà commencé à regarder hier les valeurs de clés que tu crées
dans {0AFACED1-E828-11D1-9187-B532F1E9575D}

Première question de néophyte, est-ce que c'est une clé utilisée
par explorer.exe et, si oui, ne prend-on pas des risques en y
mettant des paramètres pour nous?
( conflit avec les mises à jour de Windows ) .

Cordialement,
Daniel.

--------------------------------------



Avatar
Gilles RONSIN
"Daniel92" , le lun. 06 sept. 2004
19:56:48, écrivait ceci:

Salut,


** Peut-être aussi préciser à chaque fois la version de Windows
qu'on utilise? il peut y avoir des différences?


Exactement, à priori, cette fonction n'est active que depuis W2K,
donc on peut commencer par avertir tout utilisateur d'une version
plus ancienne que ça ne marche pas :
Dans google j'ai vu souvent des méthodes pour identifier la version
courante (regarde du coté de WMI)

Mon seul soucis est de ne pas faire de couennerie avec la BDR,
observer est une chose écrire dedans en est une autre.


On ne travaille pas dans une zone très sensible, mais c'est vrai que
si on est pas sûr de soi, il faut être certain de disposer de
sauvegarde. (De toute façon, tôt ou tard on s'en félicite)

J'ai déjà commencé à regarder hier les valeurs de clés que tu
crées dans {0AFACED1-E828-11D1-9187-B532F1E9575D}


Quoi tu fais ici ?
Ici c'est la clé de l'utilisation de ces raccourcis, pas de la
génération (sinon j'aurais pas fait de VBScript :-))

Première question de néophyte, est-ce que c'est une clé utilisée
par explorer.exe et, si oui, ne prend-on pas des risques en y
mettant des paramètres pour nous?
( conflit avec les mises à jour de Windows ) .


Fait l'essai (puisque tu as une sauvegarde de la BDR)
tu créés la clé où je t'ai dis, tu peux remplacer par cmd.exe pour
voir ce qui se passe. Tu peux d'ailleurs t'inspirer de la création
des ajouts de style "fenêtre de commande ici.."



--
Embryon de site : http://gilles.ronsin.free.fr
Nouvelles astuces : Interprêtation des évenements XP en "français"
(trad auto)
Il est impossible pour un optimiste d'être agréablement surpris.

Avatar
Daniel92
Salut Gilles,

"Gilles RONSIN" écrivit
"Daniel92", le lun. 06 sept. 2004 19:56:48, écrivait ceci:
J'ai déjà commencé à regarder hier les valeurs de clés que tu
crées dans {0AFACED1-E828-11D1-9187-B532F1E9575D}


Quoi tu fais ici ?
Ici c'est la clé de l'utilisation de ces raccourcis, pas de la
génération (sinon j'aurais pas fait de VBScript :-))



** Excuse me boss, j'ai cru dans la séquence suivante
que tu écrivais directement dans la BDR.

Set oTs=fso.CreateTextFile(lnk & folder & "desktop.ini")
oTs.WriteLine "[.ShellClassInfo]"
oTs.WriteLine "CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}"
oTs.WriteLine "Flags=2"
oTs.WriteLine "ConfirmFileOp=0"
oTs.Close

Alors que :
==> cette séquence 'Objets> TextStream' tutorial JCB
écrit dans un fichier texte et non dans la BDR
Ce fichier texte est ici (lnk & folder & "desktop.ini")


Première question de néophyte, est-ce que c'est une clé utilisée
par explorer.exe et, si oui, ne prend-on pas des risques en y
mettant des paramètres pour nous?
( conflit avec les mises à jour de Windows ) .


Fait l'essai (puisque tu as une sauvegarde de la BDR)
tu créés la clé où je t'ai dis, tu peux remplacer par cmd.exe pour
voir ce qui se passe. Tu peux d'ailleurs t'inspirer de la création
des ajouts de style "fenêtre de commande ici.."



** Où ki sont? Si c'est dans les fils du newsgroup, je regarde dedans.
** "remplacer par cmd.exe pour voir ce qui se passe.", Ca, je ne
sais ce que cela veut dire.


** Peut-être aussi préciser à chaque fois la version de Windows
qu'on utilise? il peut y avoir des différences?
Exactement, à priori, cette fonction n'est active que depuis W2K,

donc on peut commencer par avertir tout utilisateur d'une version
plus ancienne que ça ne marche pas :
Dans google j'ai vu souvent des méthodes pour identifier la version
courante (regarde du coté de WMI)



** Là tu me fais faire la totale.


On ne travaille pas dans une zone très sensible, mais c'est vrai que
si on est pas sûr de soi, il faut être certain de disposer de
sauvegarde. (De toute façon, tôt ou tard on s'en félicite)

** Partisan convaincu des sauvegardes, je me fait violence pour

utiliser mes CD et DVD pour les sauvegardes. Et le ferais de
toute façon avant un test risqué...

Pour les groupes de clés de la BDR, pas de difficultés pour
les sauvegarder. 2 questions pour complèter mes modestes
connaissances :
- est-ce qu'une sauvegarde de toute la BDR
sert à quelque chose? et si oui comment la fais-tu?
- est-ce qu'un point Restaure et suffisant pour
sauvegarder les clés avant un essai?

WinXP home,
Daniel.

( ps: il y a une restriction à l'utisation des pointeurs dossiers,
il faudra que je t'en reparle.)

------------------------------------


1 2 3