Ouvrir un dossier depuis un bouton en vbs [Résolu]

Messages postés
10
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
18 septembre 2005
- - Dernière réponse : pmdzsite
Messages postés
10
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
18 septembre 2005
- 18 sept. 2005 à 18:08
bonjours a tous !
Voila je viens de faire un autorun sur un cd de photos et je voudrais faire ceci :
http://www.developpez.com/vbasic/tutoriel/images/window1.gif

Mais a la place de suppression je voudrais que ca ouvre le cd si la personne clique sur oui et ne rien faire si elle clique sur non.

J'en suis a ca :
//Dim Sup
//Sup = MsgBox("Le CD a été correctement reconnu. Voulez-vous voir le dossier photo ?", vbQuestion + vbYesNo, "Question")
//If (Sup = vbYes) Then
//
//'Ouvrir le dossier "Letre du lecteur ou est le cd":\photo\
//
//End If

Je n'aarive pas a ouvrir le dossier ... Mad
Merci !

http://pmdzsite.free.fr
Afficher la suite 

18 réponses

Meilleure réponse
Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
17
3
Merci
Pour esquiver le lecteur "a" rajoute les lignes en gras

If (Sup = vbYes) Then
For Each sDrive In oFso.Drives
If Not sDrive="A:" then
If oFso.FolderExists(sDrive & "\photo") Then
sCheminPhoto = sDrive & "\photo"
oShell.Open sCheminPhoto
Exit For
End If
End If
Next
End If

ci cela ne te conviens pas ouvre une boite de dialogue de dossier à la place exemple complet ci-dessous pour ton cas

---------------------------------------------------------------------------------------
Dim oFso
Dim sCheminPhoto
Dim oshell
Dim oItem
Dim Flags


Flags = &H0001 + &H0020


Set oFso = CreateObject("Scripting.FileSystemObject")
Set oShell = WScript.CreateObject("Shell.Application")


Set oItem = oShell.BrowseForFolder(0, "Recherche du dossier photo", Flags, "")

If IsValue(oItem) Then
If InStr(1,oItem.Title,":") = 0 Then
sCheminPhoto = oItem.ParentFolder.ParseName(oItem.Title).Path
oShell.Open sCheminPhoto
End If
End If

Function TestValue(obj)
Dim sVar
On Error Resume Next

sVar = " " & obj


If Err <> 0 Then TestValue False Else TestValue True
End Function

-----------------------------------------------------------------------------------
Voila...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 90 internautes nous ont dit merci ce mois-ci

Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
17
3
Merci
"If oFso.FolderExists(sDrive & "\photo") Then"
sert juste à s'assurer que c'est bien le cd que tu désires puisqu'il y a le dossier "photo".
Si tu l'enlèves "photo" alors le test ne sera pas le meme il testera juste si un cd est présent dans le lecteur de ce fait on pourra insérer n'importe quel cd ton programme ne fera pas la différence.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 90 internautes nous ont dit merci ce mois-ci

Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
17
0
Merci
Salut,
pour trouver la lettre du lecteur je ne sais pas trop je posterais un exemple si je trouve
sinon simple pour ouvrir un dossier en vbs
à la place de c:\program files tu mets bien sur ton chemin de photo

------------------------------------------------
dim oSshell

set oShell= WScript.CreateObject("Shell.Application")

oShell.Open "c:\program files"

------------------------------------------------
Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
17
0
Merci
Bon je viens de faire ton petit bout de code

Dim Sup
Dim oFso
Dim sDrive
Dim sCheminPhoto
Dim oSshell

Set oFso= CreateObject("Scripting.FileSystemObject")
Set oShell= WScript.CreateObject("Shell.Application")

Sup = MsgBox("Le CD a été correctement reconnu. Voulez-vous voir le dossier photo ?", vbQuestion + vbYesNo, "Question")

If (Sup = vbYes) Then
For Each sDrive In oFso.Drives
If oFso.FolderExists(sDrive & "\photo") Then
sCheminPhoto = sDrive & "\photo"
oShell.Open sCheminPhoto
Exit For
End If
Next
End If

Voila bon courage
Messages postés
10
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
18 septembre 2005
0
Merci
probleme => ou que soit le vbs il cherche le dossier photos dans a:\
Messages postés
10
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
18 septembre 2005
0
Merci
on peux pas faire editer ?
on peut faire des chemein relatif en vbs ?
Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
17
0
Merci
Oups remplace dans le second exemple
If IsValue(oItem) Then
par
If TestValue(oItem) Then
Messages postés
10
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
18 septembre 2005
0
Merci
merci beaucoup !
Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
17
0
Merci
De rien...bonne prog
Messages postés
10
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
18 septembre 2005
0
Merci
juste une chose : comment puis faire (dans le premier script) pour ouvrir a la racine du cd et non pas dans un dossier du cd ?
Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
17
0
Merci
If (Sup = vbYes) Then
For Each sDrive In oFso.Drives
If Not sDrive="A:" then
If oFso.FolderExists(sDrive & "\photo") Then
sCheminPhoto = sDrive & ""
oShell.Open sCheminPhoto
Exit For
End If
End If
Next
End If

voila pas tester mais je pense que c'est cela que tu recherches
++
Messages postés
10
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
18 septembre 2005
0
Merci
j'ai essayé en mettant :
If (Sup = vbYes) Then
For Each sDrive In oFso.Drives
If Not sDrive="A:" then
If oFso.FolderExists(sDrive & "") Then
sCheminPhoto = sDrive & ""
oShell.Open sCheminPhoto
Exit For
End If
End If
Next
End If

ca va changer qql chose de rajouter "photo" dans :
If oFso.FolderExists(sDrive & "\photo") Then

???
Messages postés
34
Date d'inscription
mardi 18 juin 2002
Dernière intervention
22 novembre 2005
0
Merci
Pour connaitre le driver du cd-rom:
Dim strDriveLetter, IntDriveLetter, Fso
Const CDROM = 4
On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
' Detection des lecteurs de CD
strDriveLetter = ""
For intDriveLetter = Asc("A") To Asc("Z")
Err.Clear
If fso.GetDrive(Chr(intDriveLetter)).DriveType = CDROM Then
If Err.Number = 0 Then
strDriveLetter = Chr(intDriveLetter)
msgbox "le driver du graveur se trouve sur " & strDriveLetter & ":"
Exit For
End If
End If
Next
Messages postés
10
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
18 septembre 2005
0
Merci
Willi => donc si le repertoire photo est dans c: et d: il ouvrira forcement c: ?

jeanmarc => ok merci ;) je garde le code !
Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
17
0
Merci
oui j'ai oublié de tester le support merci jeanmarc de cette modification!
Messages postés
10
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
18 septembre 2005
0
Merci
une derniere chose :
dans ce script :
If (Sup = vbYes) Then
For Each sDrive In oFso.Drives
If Not sDrive="A:" then
If oFso.FolderExists(sDrive & "\photo") Then
sCheminPhoto = sDrive & "\photo"
oShell.Open sCheminPhoto
Exit For
End If
End If
Next
End If

est ce qu'il est possible de verifier si un fichier existe au lieu d'un dossier ?
=> ici : If oFso.FolderExists(sDrive & "\photo\1.jpg") Then
Je peux faire ca ?
Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
17
0
Merci
Remplace
If oFso.FolderExists(sDrive & "\photo\1.jpg") Then
par
If oFso.FileExists(sDrive & "\photo\1.jpg") Then
Messages postés
10
Date d'inscription
lundi 15 novembre 2004
Dernière intervention
18 septembre 2005
0
Merci
merrci !!!

PS: si je connaissais mieux l'anglais ...

Merci beaucoup c'est completement reglé !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.