Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2456 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBS et guillemets

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBS et guillemets

n°1837995
virus2000f​r
Posté le 14-01-2009 à 21:45:10  profilanswer
 

Salut je débute vbs depuis 2 minutes  :??:  
 
 

Code :
  1. WshShell = WScript.CreateObject("WScript.Shell" )
  2. WshShell.Run "rundll32 printui.dll,PrintUIEntry /n "Lexmark C543" /e"


 
(Pour info ça affiche les paramètre d'impression  :na: ) /n = nom imprimante et /e pop up des paramètres avec "Lexmark C543" le nom windows de l'imprimante. vu qu'il y a un espace entre le k et le C on met des guillemets.
 
Vous Voyez, il y ' a des guillemets DANS les guillemets  au niveau de "Lexmark C543".
Comment régler ce problème. Merci. Si je fais un .bat et que je l'appelle ça fonctionne .(mais ça va me gaver car je dois créer un paquet de script  :kaola: )
 
Donc ma question principale est  "Comment gérer les guillemets dans ce cas précis?". Merci de répondre sans m'insulter
 
 
Pour ceux (ou celles  :sol: ) qui s'ennuient possible d'avoir des exemples  pour:
- une chaine de caractères avec des éspaces (déclaration, concaténation et afficher valeur)
- simuler un Ctrl+I
- simuler un Alt+F4 (ou sinon si je fais un  WshShell.close est-ce que cela ferme les éléments qui ont été ouverts?)
 
Merci.
 
 
en gros je voudrais :
 

Code :
  1. String $val = "imprimante X Y";
  2. set WshShell = WScript.CreateObject("WScript.Shell" );
  3. WshShell.Run ""rundll32 printui.dll,PrintUIEntry /n" + $val + " /e"" ;
  4. WshShell.AppActivate "Panneau de configuration de l'imprimante C543";
  5. WshShell.SendKeys (CONTROL + I en simultané" );
  6. WshShell.close();


 
merci aux courageux...

mood
Publicité
Posté le 14-01-2009 à 21:45:10  profilanswer
 

n°1838031
virus2000f​r
Posté le 14-01-2009 à 23:34:24  profilanswer
 

j'ai quasi réussi à tout trouver pour les noob comme moi :p ..

Code :
  1. set WshShell = WScript.CreateObject("WScript.Shell" )
  2.    loc="Lexmark C543"
  3.    nom = "rundll32 printui.dll,PrintUIEntry /n """&loc&""" /e" 
  4.    WshShell.Run  nom
  5.    WScript.Sleep 20
  6.    WshShell.SendKeys "4"
  7.    'WshShell.SendKeys "{TAB}"
  8.    WshShell.SendKeys "^{f}"
  9.    WScript.Sleep 20
  10.    WshShell.SendKeys "{ESCAPE}"


 
 
ou
 
 
 

Code :
  1. set WshShell = WScript.CreateObject("WScript.Shell" )
  2.    loc="Lexmark C543"
  3.    rapidite=10
  4.  
  5.    nom = "rundll32 printui.dll,PrintUIEntry /n """&loc&""" /e"  'parametre imprimante
  6.    WshShell.Run  nom
  7.  
  8.    WScript.Sleep 1000
  9.    'WshShell.SendKeys "^{f}"           'RAZ option (usine)
  10.    '_____________________________________________________________________________________
  11.    'Onglet Mise en page
  12.   For i =1 To  3              'Changement vers le choix impression recto verso'
  13.     WScript.Sleep rapidite         
  14.     WshShell.SendKeys "{TAB}"
  15.   Next
  16.   For i =1 To  2              'Changement pour Recto verso dans la selection radio'
  17.     WScript.Sleep rapidite         
  18.     WshShell.SendKeys "{DOWN}"
  19.     Next
  20.    For i =1 To  8              'Changement onglet (séléction)'
  21.     WScript.Sleep rapidite         
  22.     WshShell.SendKeys "{TAB}"
  23.    Next
  24.  
  25.    WScript.Sleep rapidite           'Changement onglet (validation)'
  26.    WshShell.SendKeys "{RIGHT}"
  27.    '_____________________________________________________________________________________
  28.    'Onglet Papier
  29.  
  30.    WScript.Sleep rapidite           'Changement vers la liste déroulante de la taille du papier'
  31.    WshShell.SendKeys "{TAB}"
  32.  
  33.    For i =1 To  7              'Changement pour A4 dans la liste des papiers'
  34.     WScript.Sleep rapidite         
  35.     WshShell.SendKeys "{DOWN}"
  36.     Next
  37.  
  38.    For i =1 To  3              'Changement ver la liste déroulante du type de papier'
  39.     WScript.Sleep rapidite         
  40.     WshShell.SendKeys "{TAB}"
  41.     Next
  42.    
  43.                                 'Changement pour du papier ordinaire'
  44.     WScript.Sleep rapidite         
  45.     WshShell.SendKeys "{Down}"
  46.     '_____________________________________________________________________________________
  47. 'FIN
  48.    WScript.Sleep rapidite         
  49.     WshShell.SendKeys "{ENTER}"


 
Ca vous sert à rien mais osef ;p
 
 
 

n°1838071
olivthill
Posté le 15-01-2009 à 09:22:23  profilanswer
 

Pour infos, la méthode standard en Basic pour mettre un guillemet dans une chaine est d'utiliser chr(34). Par exemple : toto = "abc" & chr(34) & "def".


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBS et guillemets

 

Sujets relatifs
[VBS] Comment simuler l'appui de la touche tab, windows et enter?Vbs -> exe ca marche ?
VBS je suis bloqué[resolu]préremplir une case de FORMulaire : probleme avec guillemets
[VBS] Vérification Nom pc & OSVBS & ADSI Probléme de création de "dossier de base"
Pause dans du VBS à l'intérieur d'une HTAVBS : Renommer un fichier à la date du jour
[VBS] passer plusieurs commande MS dos en VBS[VBS] Je cherche a mettre des guillemets...
Plus de sujets relatifs à : VBS et guillemets


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)