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

pmdzsite 10 Messages postés lundi 15 novembre 2004Date d'inscription 18 septembre 2005 Dernière intervention - 17 sept. 2005 à 12:48 - Dernière réponse : pmdzsite 10 Messages postés lundi 15 novembre 2004Date d'inscription 18 septembre 2005 Dernière intervention
- 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
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 17 sept. 2005 à 16:52
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...

Merci cs_Willi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 124 internautes ce mois-ci

Meilleure réponse
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 17 sept. 2005 à 20:56
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.

Merci cs_Willi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 124 internautes ce mois-ci

cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 17 sept. 2005 à 14:25
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"

------------------------------------------------
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 17 sept. 2005 à 14:46
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
pmdzsite 10 Messages postés lundi 15 novembre 2004Date d'inscription 18 septembre 2005 Dernière intervention - 17 sept. 2005 à 15:24
0
Merci
probleme => ou que soit le vbs il cherche le dossier photos dans a:\
pmdzsite 10 Messages postés lundi 15 novembre 2004Date d'inscription 18 septembre 2005 Dernière intervention - 17 sept. 2005 à 15:40
0
Merci
on peux pas faire editer ?
on peut faire des chemein relatif en vbs ?
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 17 sept. 2005 à 16:53
0
Merci
Oups remplace dans le second exemple
If IsValue(oItem) Then
par
If TestValue(oItem) Then
pmdzsite 10 Messages postés lundi 15 novembre 2004Date d'inscription 18 septembre 2005 Dernière intervention - 17 sept. 2005 à 17:51
0
Merci
merci beaucoup !
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 17 sept. 2005 à 19:28
0
Merci
De rien...bonne prog
pmdzsite 10 Messages postés lundi 15 novembre 2004Date d'inscription 18 septembre 2005 Dernière intervention - 17 sept. 2005 à 19:40
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 ?
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 17 sept. 2005 à 19:48
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
++
pmdzsite 10 Messages postés lundi 15 novembre 2004Date d'inscription 18 septembre 2005 Dernière intervention - 17 sept. 2005 à 20:16
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

???
cs_jeanmarc 34 Messages postés mardi 18 juin 2002Date d'inscription 22 novembre 2005 Dernière intervention - 18 sept. 2005 à 03:12
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
pmdzsite 10 Messages postés lundi 15 novembre 2004Date d'inscription 18 septembre 2005 Dernière intervention - 18 sept. 2005 à 10:13
0
Merci
Willi => donc si le repertoire photo est dans c: et d: il ouvrira forcement c: ?

jeanmarc => ok merci ;) je garde le code !
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 18 sept. 2005 à 10:54
0
Merci
oui j'ai oublié de tester le support merci jeanmarc de cette modification!
pmdzsite 10 Messages postés lundi 15 novembre 2004Date d'inscription 18 septembre 2005 Dernière intervention - 18 sept. 2005 à 14:07
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 ?
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 18 sept. 2005 à 14:09
0
Merci
Remplace
If oFso.FolderExists(sDrive & "\photo\1.jpg") Then
par
If oFso.FileExists(sDrive & "\photo\1.jpg") Then
pmdzsite 10 Messages postés lundi 15 novembre 2004Date d'inscription 18 septembre 2005 Dernière intervention - 18 sept. 2005 à 18:08
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.