Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

créer un vbs avec 2 choix a valider

4 réponses
Avatar
ken
J'ai une ébauche de script vbs qui ressemble à ça :

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Popup "Insérez le CD-Rom d'installation Windows XP Pro n°2
contenant les logiciels à installer." & VbCrLf & VbCrLf & "Cliquez sur OK
pour continuer sinon Annuler." & VbCrLf & "Vous pourrez reprendre cette
étape ultérieurement.",20,"Installation des programmes supplémentaires.",65
WScript.Quit


Mais voilà, je ne maîtrise pas le vbs!
Je ne sais pas comment programmer le script au cas ou si on clique sur :
OK:
dans ce cas le script lance un fichier.cmd

Annuler:
le script continue et se termine.

Si pas d'action après 20 sec, idem que annuler.


Déjà merci à tous ceux qui participeront à compléter ce fichier.

+++
Ken

4 réponses

Avatar
Gilles LAURENT
"ken" a écrit dans le message de
news:
| J'ai une ébauche de script vbs qui ressemble à ça :

Bonjour,

| Set WshShell = WScript.CreateObject("WScript.Shell")
| WshShell.Popup "Insérez le CD-Rom d'installation Windows XP Pro n°2
| contenant les logiciels à installer." & VbCrLf & VbCrLf & "Cliquez
| sur OK pour continuer sinon Annuler." & VbCrLf & "Vous pourrez
| reprendre cette étape ultérieurement.",20,"Installation des
| programmes supplémentaires.",65 WScript.Quit
|
| Mais voilà, je ne maîtrise pas le vbs!
| Je ne sais pas comment programmer le script au cas ou si on clique
| sur : OK:
| dans ce cas le script lance un fichier.cmd
|
| Annuler:
| le script continue et se termine.
|
| Si pas d'action après 20 sec, idem que annuler.

--- Coupez ici ---

Set oSh=CreateObject ("WScript.Shell")
If oSh.Popup ("Text", 20, "Title", 1 Or 64) <> 1 Then
' bouton Annuler ou Timeout donc arrêt du traitement
WScript.Quit
End If

' bouton OK donc poursuite du traitement
' exécution d'un script batch externe
oSh.Run "%comspec% /c batch.cmd",,True

--- Coupez ici ---

--
Gilles LAURENT
http://glsft.free.fr
Avatar
ken
Excellent!
Merci Gilles pour la réponse rapide et efficace.

Y a-t-il un moyen de représenter visuellement le décompte du temps?


"Gilles LAURENT" a écrit dans le message de news:
%
"ken" a écrit dans le message de
news:
| J'ai une ébauche de script vbs qui ressemble à ça :

Bonjour,

| Set WshShell = WScript.CreateObject("WScript.Shell")
| WshShell.Popup "Insérez le CD-Rom d'installation Windows XP Pro n°2
| contenant les logiciels à installer." & VbCrLf & VbCrLf & "Cliquez
| sur OK pour continuer sinon Annuler." & VbCrLf & "Vous pourrez
| reprendre cette étape ultérieurement.",20,"Installation des
| programmes supplémentaires.",65 WScript.Quit
|
| Mais voilà, je ne maîtrise pas le vbs!
| Je ne sais pas comment programmer le script au cas ou si on clique
| sur : OK:
| dans ce cas le script lance un fichier.cmd
|
| Annuler:
| le script continue et se termine.
|
| Si pas d'action après 20 sec, idem que annuler.

--- Coupez ici ---

Set oSh=CreateObject ("WScript.Shell")
If oSh.Popup ("Text", 20, "Title", 1 Or 64) <> 1 Then
' bouton Annuler ou Timeout donc arrêt du traitement
WScript.Quit
End If

' bouton OK donc poursuite du traitement
' exécution d'un script batch externe
oSh.Run "%comspec% /c batch.cmd",,True

--- Coupez ici ---

--
Gilles LAURENT
http://glsft.free.fr




Avatar
Gilles LAURENT
"ken" a écrit dans le message de
news:
| Excellent!
| Merci Gilles pour la réponse rapide et efficace.

Merci pour ce retour ;-)

| Y a-t-il un moyen de représenter visuellement le décompte du temps?

Cela n'est pas supporté dans une Popup. Néanmoins ci-dessous une
solution de contournement qui je pense vous conviendra :

--- Coupez ici ---

Const TIMEOUT ' 20 secondes

Set oSh = CreateObject ("WScript.Shell")
For t = TIMEOUT 2 to 1 Step -1
Ret = oSh.Popup ("Text", 2, _
"Title [" & Right ("0" & t, 2) & "]", 1 Or 64)
If Ret = 2 Or (Ret = -1 And t = 1) Then
' bouton Annuler ou Timeout alors fin du traitement
WScript.Quit
ElseIf Ret = 1 Then
' bouton OK alors poursuite du traitement
Exit For
End If
Next

' exécution d'un script batch externe
oSh.Run "%comspec% /c batch.cmd",,True

--- Coupez ici ---

--
Gilles LAURENT
http://glsft.free.fr
Avatar
ken
Oui. La solution de contournement est abordable. Cest cette solution que
j'utilise dans mes fichiers batch.
Merci encore Gilles.

PS:J'ai visité ton site, je me suis inscrit, mais pas reçu le mail à
valider.
Je voudrais bien me documenter et m'approprier les différentes possibilités
du vbs, au moins les bases.
Je maîtrise les batch ms-dos mais l'interaction avec l'utilisateur dans la
fenêtre Dos n'est pas très esthétique.
Me conseilles-tu des sites avec exemples et cours, et des livres pour
débutant biensûr ? Pourrai-je encore te solliciter ?
J'avais vu sur le site de JC Bellamy, une approche du vbs, ca m'a semblé un
ton au dessus pour un débutant.
Ken,


"Gilles LAURENT" a écrit dans le message de news:
%
"ken" a écrit dans le message de
news:
| Excellent!
| Merci Gilles pour la réponse rapide et efficace.

Merci pour ce retour ;-)

| Y a-t-il un moyen de représenter visuellement le décompte du temps?

Cela n'est pas supporté dans une Popup. Néanmoins ci-dessous une
solution de contournement qui je pense vous conviendra :

--- Coupez ici ---

Const TIMEOUT ' 20 secondes

Set oSh = CreateObject ("WScript.Shell")
For t = TIMEOUT 2 to 1 Step -1
Ret = oSh.Popup ("Text", 2, _
"Title [" & Right ("0" & t, 2) & "]", 1 Or 64)
If Ret = 2 Or (Ret = -1 And t = 1) Then
' bouton Annuler ou Timeout alors fin du traitement
WScript.Quit
ElseIf Ret = 1 Then
' bouton OK alors poursuite du traitement
Exit For
End If
Next

' exécution d'un script batch externe
oSh.Run "%comspec% /c batch.cmd",,True

--- Coupez ici ---

--
Gilles LAURENT
http://glsft.free.fr