VBS et guillemets

VBS et guillemets - VB/VBA/VBS - Programmation

Marsh Posté le 14-01-2009 à 21:45:10    

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...

Reply

Marsh Posté le 14-01-2009 à 21:45:10   

Reply

Marsh Posté le 14-01-2009 à 23:34:24    

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
 
 
 

Reply

Marsh Posté le 15-01-2009 à 09:22:23    

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".

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed