IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Ouvrir fenêtre Windows en VBScript


Sujet :

VBScript

  1. #1
    Membre confirmé
    Profil pro
    Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)
    Inscrit en
    Avril 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)

    Informations forums :
    Inscription : Avril 2011
    Messages : 137
    Par défaut Ouvrir fenêtre Windows en VBScript
    Bonjour,

    Je souhaite ouvrir une fenêtre Windows à la fin de mon code que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    'CREATION DES OBJETS
    Set object_exec_cmd = CreateObject("WScript.Shell")
    Set objet_connect_lecteur = CreateObject("WScript.Network")
    Set objet_copie = CreateObject("Scripting.FileSystemObject")
     
    Function Deconnexion()
    	ligne_cmd_deconnexion = "net use /delete /Y N:"
    	Call object_exec_cmd.Run (ligne_cmd_deconnexion)
    	If objet_copie.DriveExists("N:") = true then
    		MsgBox "Préparation en cours ... Cliquer sur OK pour continuer."
    		Deconnexion()
    	End if
    End Function
     
    Function Connexion()
    	ligne_cmd_connexion = "net use N: \\frer0645\out"
    	Call object_exec_cmd.Run (ligne_cmd_connexion)
    	'MsgBox "Mon lecteur est connecté"
    End function
     
    Function Verif()
    	Do while objet_copie.DriveExists("N:") = false 'Tant que le lecteur n'existe pas, on boucle (on attends qu'il se crée)
    	Loop
     
    	If objet_copie.DriveExists("N:") = true then
    		MsgBox "Veuillez choisir le fichier à copier.",0, "Info"
    	Else
    		Connexion()
    		Verif()
    	End if
     
    End function
     
    Function Copie_fichier()
    	Dim oFolder
    	Dim objFolderItem
    	Dim objPath
    	Dim copie
     
    	copie = 1 
    	Option_noFolderButton = &H200
     
    	If objet_copie.DriveExists("N:") = true then
    		Deconnexion()
    	End if
    	Connexion()
    	Verif() 'On vérifie que le lecteur réseau est bien connecté
     
    'BOX SELECTION
    	if objet_copie.DriveExists("N:") = true then
    		Set objDialog=CreateObject("SAFRCFileDlg.FileOpen")
    		ObjDialog.OpenFileOpenDlg
    'msgbox objDialog.FileName
     
    		If objDialog.FileName <> "" then 'Si l'user a choisit un fichier
    'Récupération du chemin du fichier à copier
    			fichier_copie=objDialog.FileName
     
     
    'BOX DESTINATION
    			Set oShell = CreateObject("Shell.Application") 
    			Set oFolder = oShell.BrowseForFolder(0, "Selectionner le répertoire de destination :",Option_noFolderButton,"")
     
    'Récupération du chemin du répertoire de destination
    			If (not oFolder is nothing) then
    				Set objFolderItem = oFolder.Self
    				rep_dest = objFolderItem.Path
    			Else
    				copie = 0 'Si l'user annule, on ne copie pas
    			End if
    'Copie du fichier du serveur vers le répertoire en local
    			If copie = 1 then
    				if rep_dest <> "C:\" then
    					if rep_dest <> "D:\" then
    						rep_dest = rep_dest+"\"
    						'MsgBox rep_dest
    					End if
    				End if
    				'MsgBox rep_dest
    				objet_copie.CopyFile fichier_copie,rep_dest,True
    				MsgBox "Le fichier "&ObjDialog.FileName&" est copié.",0, "Info"
    			Else
    				MsgBox "Vous avez annuler l'opération.",0, "Info"
    			End if
    			Set oFolder = nothing
    			Set oShell = nothing
    			Set objDialog = nothing                                    
    		else
    			MsgBox "Vous avez annuler l'opération.",0, "Info"
    		End if
    	Else
    		Copie_fichier()
    	End if
    	'ligne_cmd_open = "explorer rep_dest"
    	'Call object_exec_cmd.Run (ligne_cmd_open)
    End function
     
     
    'PROCEDURE PRINCIPALE	
     
    'COPIE FICHIER
    Sub DownloadFile()
    	Copie_fichier()
    End Sub
    L'idée étant d'ouvrir la fenêtre dans laquelle le fichier a été copier.
    Le répertoire de destination est contenu dans la variable rep_dest.

    Je n'ai pas trouvé en VBScript comment faire cela, alors je me suis dis qu'appeler la commande explorer <chemin> pouvait être une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ligne_cmd_open = "explorer &rep_dest&"
    Call object_exec_cmd.Run (ligne_cmd_open)
    Seulement, cela ne fonctionne pas car il ne lis pas ce que contient la variable rep_dest.

    S'il est possible d'utiliser cette variable en lisant son contenu, pouvez-vous m'indiquer comment faire svp ?

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 127
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'ligne_cmd_open = "explorer &rep_dest&"
    ligne_cmd_open = "explorer " & rep_dest
    Tu passes le nom de ta variable, alors qu'il faut passer son contenu.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 843
    Par défaut

    Voila une petite fonction que tu peux l'exploiter sans problème par exemple pour explorer le C:\
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim rep_dest
    rep_dest = "C:"
    Call Explorer(rep_dest)
     
    Function Explorer(File)
        Set ws=CreateObject("wscript.shell")
        ws.run "Explorer "& File & "\"
    end Function

  4. #4
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 843
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 843
    Par défaut

    essaye ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    'CREATION DES OBJETS
    Set object_exec_cmd = CreateObject("WScript.Shell")
    Set objet_connect_lecteur = CreateObject("WScript.Network")
    Set objet_copie = CreateObject("Scripting.FileSystemObject")
     
    Function Deconnexion()
    	ligne_cmd_deconnexion = "net use /delete /Y N:"
    	Call object_exec_cmd.Run (ligne_cmd_deconnexion)
    	If objet_copie.DriveExists("N:") = true then
    		MsgBox "Préparation en cours ... Cliquer sur OK pour continuer."
    		Deconnexion()
    	End if
    End Function
     
    Function Connexion()
    	ligne_cmd_connexion = "net use N: \\frer0645\out"
    	Call object_exec_cmd.Run (ligne_cmd_connexion)
    	'MsgBox "Mon lecteur est connecté"
    End function
     
    Function Verif()
    	Do while objet_copie.DriveExists("N:") = false 'Tant que le lecteur n'existe pas, on boucle (on attends qu'il se crée)
    	Loop
     
    	If objet_copie.DriveExists("N:") = true then
    		MsgBox "Veuillez choisir le fichier à copier.",0, "Info"
    	Else
    		Connexion()
    		Verif()
    	End if
     
    End function
     
    Function Copie_fichier()
    	Dim oFolder
    	Dim objFolderItem
    	Dim objPath
    	Dim copie
     
    	copie = 1 
    	Option_noFolderButton = &H200
     
    	If objet_copie.DriveExists("N:") = true then
    		Deconnexion()
    	End if
    	Connexion()
    	Verif() 'On vérifie que le lecteur réseau est bien connecté
     
    'BOX SELECTION
    	if objet_copie.DriveExists("N:") = true then
    		Set objDialog=CreateObject("SAFRCFileDlg.FileOpen")
    		ObjDialog.OpenFileOpenDlg
    'msgbox objDialog.FileName
     
    		If objDialog.FileName <> "" then 'Si l'user a choisit un fichier
    'Récupération du chemin du fichier à copier
    			fichier_copie=objDialog.FileName
     
     
    'BOX DESTINATION
    			Set oShell = CreateObject("Shell.Application") 
    			Set oFolder = oShell.BrowseForFolder(0, "Selectionner le répertoire de destination :",Option_noFolderButton,"")
     
    'Récupération du chemin du répertoire de destination
    			If (not oFolder is nothing) then
    				Set objFolderItem = oFolder.Self
    				rep_dest = objFolderItem.Path
    			Else
    				copie = 0 'Si l'user annule, on ne copie pas
    			End if
    'Copie du fichier du serveur vers le répertoire en local
    			If copie = 1 then
    				if rep_dest <> "C:\" then
    					if rep_dest <> "D:\" then
    						rep_dest = rep_dest+"\"
    						'MsgBox rep_dest
    					End if
    				End if
    				'MsgBox rep_dest
    				objet_copie.CopyFile fichier_copie,rep_dest,True
    				MsgBox "Le fichier "&ObjDialog.FileName&" est copié.",0, "Info"
    			Else
    				MsgBox "Vous avez annuler l'opération.",0, "Info"
    			End if
    			Set oFolder = nothing
    			Set oShell = nothing
    			Set objDialog = nothing                                    
    		else
    			MsgBox "Vous avez annuler l'opération.",0, "Info"
    		End if
    	Else
    		Copie_fichier()
    	End if
     
    Call Explorer(rep_dest)
     
    End function
     
     
    'PROCEDURE PRINCIPALE	
     
    'COPIE FICHIER
    Sub DownloadFile()
    	Copie_fichier()
    End Sub
     
    Function Explorer(File)
        Set ws=CreateObject("wscript.shell")
        ws.run "Explorer "& File
    end Function

  5. #5
    Membre confirmé
    Profil pro
    Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)
    Inscrit en
    Avril 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Tout juste diplômé Master 2 Miage (SI / Aide à la prise de décision)

    Informations forums :
    Inscription : Avril 2011
    Messages : 137
    Par défaut NIKEL !
    Vos 2 solutions fonctionnent parfaitement les gars, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ouvrir une fenêtre windows avec visual C++
    Par JeanNoel53 dans le forum Visual C++
    Réponses: 9
    Dernier message: 13/04/2012, 10h36
  2. Ouvrir une fenêtre Windows
    Par VassR dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/01/2010, 00h18
  3. [Toutes versions] ouvrir fenêtre windows en vba
    Par gwems dans le forum VBA Access
    Réponses: 9
    Dernier message: 13/08/2009, 13h55
  4. Fenêtre de recherche sur Windows en VBscript.
    Par catadanna dans le forum VBScript
    Réponses: 1
    Dernier message: 01/08/2009, 11h01
  5. Appel de la fenêtre Windows "ouvrir depuis"
    Par tonave dans le forum Delphi
    Réponses: 7
    Dernier message: 07/06/2006, 11h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo