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

Vos Contributions VBScript Discussion :

[Outil] Vbs eXtended InputBox pour VbScript


Sujet :

Vos Contributions VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 299
    Points : 3 554
    Points
    3 554
    Par défaut [Outil] Vbs eXtended InputBox pour VbScript
    bonjour,

    plus de 12 ans après mes premières propositions pour améliorer la fonction InputBox
    j'ai finalement écrit une version définitive compatible avec toutes les versions de XP SP3 et supérieures.
    en quelques lignes, InputBox peut ressembler à ça :

    Nom : InputBoxEx.jpg
Affichages : 183325
Taille : 48,3 Ko

    au lieu de :

    Nom : InputBox.jpg
Affichages : 2803
Taille : 8,8 Ko

    note : les utilisateurs d'Avast avec la protection "heuristique" activée devront autoriser spécifiquement le lancement de vbsx.exe

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 105
    Points : 16 627
    Points
    16 627
    Par défaut
    Salut omen999

    Dans la page article, en fin d'article, le lien qui je pense devrait aboutir dans cette discussion n'est pas bon (Page not found):
    Vous pouvez également poser vos questions et laisser vos commentaires et suggestions sur le forum ici : forum Developpez.
    je pense qu'il devrait être https://www.developpez.net/forums/d1...tbox-vbscript/

  3. #3
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 299
    Points : 3 554
    Points
    3 554
    Par défaut
    salut ProgElecT,

    réparé

  4. #4
    Membre régulier Avatar de DMike92
    Homme Profil pro
    Technicien maintenance ( retraité)
    Inscrit en
    Avril 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance ( retraité)
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2014
    Messages : 31
    Points : 70
    Points
    70
    Par défaut Installation Vbsx
    Bonjour,
    Merci pour cette nouvelle fonctionnalité fort séduisante.
    Cependant, si je créé un script en dehors du dossier d'installation, il ne reconnait plus l'InputBox amélioré mais seulement vbs. J'ai loupé quelque chose ?

    D'avance merci pour les réponses

    Michel
    (et je n'ai pas trouvé où créer un nouveau fil...)

  5. #5
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 299
    Points : 3 554
    Points
    3 554
    Par défaut
    (et je n'ai pas trouvé où créer un nouveau fil...)
    et c'est très bien ainsi car ton message est au bon endroit

    j'ai horreur des programmes d'installation qui écrivent un peu partout
    dans la bdr et pas toujours utilement

    mais j'ai peut-être été un peu restrictif sur ce coup car on peut effectivement
    attendre d'une installation qu'elle mette à jour la variable d'environnement

    j'ai modifié le vbsx_setup.exe en ce sens et il est à télécharger sur le lien de l'article

    note : l'installation peut se faire sans inconvénient sur une config déjà installée

  6. #6
    Membre régulier Avatar de DMike92
    Homme Profil pro
    Technicien maintenance ( retraité)
    Inscrit en
    Avril 2014
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance ( retraité)
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2014
    Messages : 31
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par omen999 Voir le message
    et c'est très bien ainsi car ton message est au bon endroit

    j'ai horreur des programmes d'installation qui écrivent un peu partout
    dans la bdr et pas toujours utilement

    mais j'ai peut-être été un peu restrictif sur ce coup car on peut effectivement
    attendre d'une installation qu'elle mette à jour la variable d'environnement

    j'ai modifié le vbsx_setup.exe en ce sens et il est à télécharger sur le lien de l'article

    note : l'installation peut se faire sans inconvénient sur une config déjà installée
    Merci beaucoup pour cette réponse et aussi pour cette mise à jour fantastique.
    Je dois parti en déplacement demain pour 2 jours ; je testerai donc plus tard mais ne manquerai pas de revenir ici pour le retour.

    Michel

    note : peut-être qu'un indication sur le path à modifier pourrait aussi être une option ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 8
    Points
    8
    Par défaut [Outil] Vbs demande d'infos
    Bonjour, déjà merci pour ses VBSCRIPT, je suis nouveau sur ce forum et débutant en VBS , je voudrais savoir comment récupérer les informations de chaque chant séparément pour les mètres dans une variable
    merci

  8. #8
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 299
    Points : 3 554
    Points
    3 554
    Par défaut
    bonjour,

    extrait de la doc :
    Valeur retournée :

    la fonction InputBox renvoie une chaîne qui est composée de la valeur finale des contrôles dans l’ordre d’entrée du paramètre default, séparée par le caractère « | » ou celui redéfini par l’option -sepc. Pour les contrôles {clbox, lbox}, la valeur finale est l’index de l’item sélectionné et pour les contrôles {ckbox, rdbox} leur état final. {dlg, label, frame et group} ne renvoient pas de données et sont ignorés.
    ci-dessous un exemple de boite de dialogue très simple avec seulement deux ctrls label et deux ctrls edit
    seuls les ctrls edit renvoient une valeur et ces valeurs sont séparées par le caractère |
    pour les extraire, la fonction Split() est parfaitement adaptée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option explicit
    Dim title,defaut,rep,data
    title="eXtended InputBox by omen999"
    defaut="dlg~-1~-1~400~300~2|label~10~20~70~19~Libellé n°1 :|edit~86~17~160~21~contenu initial n°1|label~10~46~70~19~Libellé n°2 :|edit~86~43~160~21~contenu initial n°2"
    rep=InputBox("",title,defaut)
    Msgbox rep  ' la valeur brute renvoyée par InputBox
    data = Split(rep,"|")
    If UBound(data) > 0 then Msgbox data(0) & vbCrLf & data(1) ' les valeurs séparées de chaque ctrl edit

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 8
    Points
    8
    Par défaut Outil] Vbs demande d'infos
    Merci, pour l’explication, j'ai projet d'un script qui utiliserait cette fonction pour l'installation d'une imprimante réseaux je m'explique, je voudrais avoir une fenêtre avec un logo et 4 champs qui demanderaient à l'utilisateur d’entrée l'adresse IP ? une autre le NOM DE L'IMPRIMANTE, la 3e le type de pilote, le 4e la config, récupérer les entrées de ces 4 champs pour les renvoyer dans un script batch . merci pour votre aide si vous avais une piste ou un exemple , je suis preneur en vous remerciant.

  10. #10
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 299
    Points : 3 554
    Points
    3 554
    Par défaut
    en gros, tu voudrais bien un exemple tout fait...

    le script test.vbsx :
    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
    Option explicit
    Dim title,res(9),rep,params
     
    title="eXtended InputBox by omen999"
    res(0) = "dlg~-1~-1~650~290~3"
    res(1) = "img~10~15~220~220~omen220.ico"
    res(2) = "label~260~15~60~19~Adresse IP :"
    res(3) = "ipctrl~366~10~120~19~0.0.0.0"
    res(4) = "label~260~40~102~19~Nom de l'imprimante :"
    res(5) = "edit~366~36~160~19"
    res(6) = "label~260~66~80~19~Type de pilote :"
    res(7) = "clbox~366~60~110~40~bourré#incontinent#caractériel#dépressif#12345678"
    res(8) = "label~260~92~74~19~Configuration :"
    res(9) = "clbox~366~86~110~40~configuration n°1#configuration n°2#configuration n°3" 
     
    rep=InputBox("",title,Join(res,"|"))
    msgbox rep
    params = Split(rep,"|")
    ' un espace dans un paramètre sera interprété comme un séparateur  
    If UBound(params) > -1 Then CreateObject("WScript.Shell").Run "test.bat " & params(0) & " " & params(1) & " " & params(2) & " " & params(3)
    le fichier batch (tant qu'à faire) test.bat :
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    for %%a in (%1 %2 %3 %4) do echo %%a
    pause

    le logo : omen220.zip

    et le résultat (tu peux garder le logo...) :

    Nom : testbox.jpg
Affichages : 1508
Taille : 53,9 Ko

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 5
    Points : 8
    Points
    8
    Par défaut
    Bonjour merci pour la réponse et désoler si vous avez pensé que je veux un script tout fait ce n'était pas ça, mais juste pour exposer mon projet, je débute en vbscript, et j'ai réalisé ceci à ma façon qui n'est pas la meilleure mais j'essaie de comprendre .

    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
    Option explicit
    Dim title,defaut,rep,data,var1,var2,var3,var4,pass,pass2,pass4,pass3,com,Result,WshShell,f,fso,chemin,oShell,strHomeFolder,objShell
     
    title="Installation MULTIFONCTION"
     
    defaut="dlg~-1~-1~600~400|frame~10~10~132~132|img~12~12~128~128~atom128.ico|frame~146~23~70~2|label~216~14~210~19~ Installation MFP |frame~414~23~70~2|group~150~38~300~98~ &Script d'installation |label~184~70~240~29~ PROGRAME D'INSTALLATION POUR MULTIFONCTION CREE PAR MOI |group~10~148~150~98~&TYPE DE PILOTE|rdbox~14~172~82~19~Type PCL|rdbox~14~210~82~19~Type PS|label~10~250~200~19~&Configuration de L'imprimante :|cbox~10~272~444~100~Recto-N/B#Recto-Couleur#Recto-Verso-N/B#Recto-Verso-Couleur|label~168~148~184~19~&Informations d'installation |frame~350~158~126~2|label~168~172~166~19~Nom de L'imprimante :|edit~300~170~170~21~|label~168~199~190~19~Adresse IP de L'imprimante :|ipctrl~335~198~148~21~127.0.0.1|label~168~230~40~19~&Date :|datepick~212~228~100~21~" & Date & "|label~10~305~450~38~Notice : test"
     
    rep=InputBox("",title,defaut)
     
    data = Split(rep,"|")
     
     
    If UBound(data) > 0 then var1="drivers=" & data(2) & vbCrLf ' les valeurs séparées de chaque ctrl edit
    If UBound(data) > 0 then var2="config:" & data(4) & vbCrLf 
    If UBound(data) > 0 then var3="Nom," & data(5)& vbCrLf
    If UBound(data) > 0 then var4="IP;" & data(6) & vbCrLf
     
    'Preparation de l'environnement
     
    Set oShell = CreateObject("WScript.Shell")
    strHomeFolder = oShell.ExpandEnvironmentStrings("%USERPROFILE%\downloads\fichier.txt")
     
    Set fso=CreateObject("Scripting.FileSystemObject")
    chemin="fichier.txt"
    '"8" = ecriture en fin de fichier, "1" = Lecture seul , "2" = Ecriture seul
    '"true" crée le fichier si non existant, "false" ne crée pas le fichier
    'Ouverture du fichier et ecriture en fin (ligne par ligne)
    set f=fso.OpenTextFile(chemin,8,True)
    pass=var1
    pass2=var2
    Pass3=var3
    pass4=var4
    'Ecrire dans le fichier
    f.WriteLine(pass)
    f.WriteLine(pass2)
    f.WriteLine(pass3)
    f.WriteLine(pass4)
    f.close
    set f=nothing
    set fso=nothing
     
    Set WshShell = CreateObject("WScript.Shell")
    Set objShell = (CreateObject("Wscript.shell"))
    com="cmd /c start.bat" 
    Result=WshShell.Run(com,1,True)'Option 1 Console Visible.Option 0 Console Invisible
    Call objShell.Run("PowerShell -NoProfile -ExecutionPolicy Bypass -Command nbrecto.ps1", 1, True)
    Nom : Capture.JPG
Affichages : 997
Taille : 45,9 Ko

    fichier BAT

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    start.bat
     
    FOR /F "tokens=2  delims=," %%i in ('type fichier.txt^|findstr /r "," ') do set NOM=%%i
    FOR /F "tokens=2 delims==" %%i in ('type fichier.txt^|findstr /r "=" ') do set drivers=%%i
    FOR /F "tokens=2 delims=:" %%i in ('type fichier.txt^|findstr /r ":" ') do set config=%%i
    FOR /F "tokens=2  delims=;" %%i in ('type fichier.txt^|findstr /r ";" ') do set IP=%%i

Discussions similaires

  1. Les outils que vous utilisez pour programmer en assembleur
    Par Smortex dans le forum x86 32-bits / 64-bits
    Réponses: 36
    Dernier message: 15/08/2022, 11h28
  2. Réponses: 1
    Dernier message: 09/03/2005, 00h42

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