begin process at 2012 02 17 10:39:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBScript

 > 

[VBS] Ouvrir un lecteur spécifique.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[VBS] Ouvrir un lecteur spécifique.

mercredi 23 juillet 2008 à 06:37:45 | [VBS] Ouvrir un lecteur spécifique.

akaii

Hello,
 
Je veux faire un script qui affiche une fenêtre demandant si il faut synchroniser les fichiers sur le lecteur D:\ de mon disque dur. Si la réponse est "Oui" la synchronisation se fait sans problème. Si la réponse est "Non" par contre ça ne fonctionne pas.
 
Ce que fait ou devrait faire le code ci-dessous, c'est tout simplement ouvrir la clé USB ou se trouve le script comme si on avait fait un click-droit "Explorer", mais ça ne fonctionne pas... j'espère que quelqu'un pourra m'aider
 

Code :
  1. Dim oFso
  2. Dim sDrive
  3. Dim oSshell
  4. Set oFso= CreateObject("Scripting.FileSystemObject" )
  5. Set oShell= WScript.CreateObject("Shell.Application" )
  6. response=msgbox("Voulez-vous synchroniser les fichiers personnels avec votre ordinateur?", vbQuestion+vbYesNo, "Synchroniser?" )
  7. if response=6 then
  8. Const OverWriteFiles = TRUE
  9. Set objFSP = CreateObject("Scripting.FileSystemObject" )
  10. objFSP.CopyFolder "\\Autorun", "D:\Personnel\MEMORYSTICK", OverWriteFiles
  11. objFSP.CopyFolder "\\Autorun", "D:\Personnel\MEMORYSTICK", OverWriteFiles
  12. objFSP.CopyFolder "\\Backup", "D:\Personnel\MEMORYSTICK", OverWriteFiles
  13. objFSP.CopyFolder "\\Koniambo", "D:\Personnel\MEMORYSTICK", OverWriteFiles
  14. objFSP.CopyFolder "\\Personnel", "D:\Personnel\MEMORYSTICK", OverWriteFiles
  15. objFSP.CopyFolder "\\Software", "D:\Personnel\MEMORYSTICK", OverWriteFiles
  16. objFSP.CopyFolder "\\autorun.inf", "D:\Personnel\MEMORYSTICK", OverWriteFiles
  17. Else
  18. For Each sDrive In oFso.Drives
  19.          If Not sDrive="A:" then
  20.             If oFso.FolderExists(sDrive & "\aKaii" ) Then
  21.                oShell.Open sDrive
  22.                Exit For           
  23.             End If
  24.          End If
  25. Next
  26. end if


Le script se relance à chaque fois que je click "Non", ca veut dire qu'il ouvre bien la clé USB, mais qu'il exécute automatiquement l'autorun => cercle perpétuel...

mercredi 23 juillet 2008 à 11:55:23 | Re : [VBS] Ouvrir un lecteur spécifique.

JMO

Membre Club


 Bonjour,

Il faut utiliser un CommonDialog pour afficher le répertoire souhaité sur la clé USB.


exemple:

Option Explicit
Dim oFso, oShell
Dim sDrive, sResult
Dim var1, var2, var3

var1 = "\
aKaii"   'choix du folder
var2 = "Selection fichier"
var3 = "|*.*|"   'tous les fichiers

Set oFso = CreateObject("Scripting.FileSystemObject")
Set oShell= WScript.CreateObject("Shell.Application" )
' DriveType:
' 0: "Inconnu"
' 1: "Amovible"
' 2: "Fixe"
' 3: "Réseau"
' 4: "CD-ROM"
' 5: "Disque virtuel"

For Each sDrive in oFso.Drives
    If sDrive.DriveType = 1 And sDrive.IsReady Then
       If oFso.FolderExists(sDrive & var1) Then
          MsgBox "DriveLetter:  " & sDrive.DriveLetter & vbCrLf & _
                 "VolumeName:  "  & sDrive.VolumeName  
          sResult = BrowseForFile(sDrive & var1, var2 & var3)
          Exit For
       End if
    End If
Next

MsgBox sResult

Set oFso = Nothing
Set oShell = Nothing

'-----------------------------------------
Function BrowseForFile(strPath, strFilter)
   Dim oDialog, intResult
   Set oDialog = CreateObject("UserAccounts.CommonDialog")
   oDialog.Filter = strFilter
   oDialog.InitialDir = strPath
   oDialog.Flags = &H80000 + &H4 + &H8   'position de la fenêtre
   intResult = oDialog.ShowOpen  
   BrowseForFile = oDialog.FileName 'récupération du nom du fichier sélectionné
End Function



"if response=6 then" peut être remplacé par  "if response=vbYes then"


jean-marc
mercredi 23 juillet 2008 à 23:10:03 | Re : [VBS] Ouvrir un lecteur spécifique.

akaii

Hello Jean-Marc,

Je n'ai pas envie d'ouvrir une fenetre de dialog pour choisir d'explorer la clef USB, je veux juste que si la réponse est "Non" il ouvre la clef comme si il n'y avait pas d'autorun.
J'espère que j'ai bien expliqué ce que je voulais faire.

Merci

mercredi 30 juillet 2008 à 10:24:32 | Re : [VBS] Ouvrir un lecteur spécifique.

neolego

bonjour,

utilise un turc dans le genre :

reponse = MsgBox ("ton text",vbYesNo+Vbquestion,"test")
select case reponse
          case VbYes : 
                  <ton code>
          case VbNo:
                  <ton code>
end select

normalement se devrait fonctionnné (enfin si j'ai bien compris se que tu voulais faire)



Cette discussion est classée dans : personnel, copyfolder, overwritefiles, objfsp, memorystick


Répondre à ce message

Sujets en rapport avec ce message

MsgBox Personnel... Bloquer la fenetre appelante - comment faire ? [ par Ackman ] Bonjour,Je souhaiterais créer mes propres Msgbox mais le problème est que je ne peuxpas bloquer la fenêtre qui la créer...On passe de l'une à l'autre Fiche personnel avec données excel [ par nanou ] Bonjour à tous les futé(e)s d'excel,Je souhaite crée sous excel une fiche personnel :nom prenomdépartementfonction photoMes données se trouvent sur u copier un dossier avec copyfolder [ par slayer ] j'ai essayer dans tous les sens , et pas moyen de copier un dossier avec cette fonction copyforder , c'est qui , qui veut bien m'expliqué comment on f FileSystemObject [ par PEB ] Lorsque j'utilise le FSO j'ai un problème avec la méthode CopyFolder qui me renvoie le message d'erreur suivant :Expected: =Mon code est le suivant : Fso.CopyFolder (Type Incompatible) [ par Hansol ] Voilà, je veux copier un document complet appeler "UserData" vers un document nouvellement créé appeler "SavesFiles". Et lorsque j'applique la command CopyFolder avec nom long [ par congru ] je n'arrive pas à copier des repertoires qui ont des nom long du styleC:\Documents TOTO\2-TITI - Modèles de base\Manuel Charte PowerPointquelqu'un pou Big Problem [ par Kevb37 ] hello, qq'un pourait résoudre mon problème svp ?le voici : j'essie depuis quelques jours de copié un dossier entiers avec ses sous dossiers... j'ai es fso copyfolder et progress bar [ par ohector ] J'aimerai faire augmenter une progress bar pendant que la fso copyfolder est en cours merci Petite Question [ par alvirtuel ] Bonjour,Juste un petite question tout simpleComment ds le script suivant mettre des variables pour que lenom utilisateur ne soit pas fixe (user=profil OutLook:Mettre les mails(inBox) ds un dossier personnel [ par oliv76n ] Bonjour,Comment faire pour deplacer un mail dans un dossier personnel?Olivier


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales