passé d'une macro à ...autoit [VBS] - VB/VBA/VBS - Programmation
Marsh Posté le 25-04-2010 à 02:59:30
ah je crois avoir trouver l'astuce, en macro sa donnerai.
alt echap
entrer
text
altechap
text ...
je vais tester je vous redis çà
je vais bien trouver comment faire le echap ^^
edit :
je pense avoir resolu mon problème, j'aurai besoin d'une aide maintenant, comment faire qu'une boucle ne se repete que 12x ?
mon programme serrait en fait :
****
/boucle
mon action
/se repete 12fois
****
****
/2e boucle
mon action ( passer 12 autres fenetres )
/fin de la deuxieme boucle
le tout dans une boucle infini, que je tuerai quand je le souhaiterai seulement via le task.
donc sa donne çà en gros mais pour les deux boucles de 12 je sais pas
do while (1)
do while(12)
Set variable=CreateObject("WScript.Shell" )
variable.SendKeys ("%{ESC}" )
variable.SendKeys ("{enter}" )
WScript.Sleep(1000)
variable.SendKeys ("..................... " )
variable.SendKeys ("{enter}" )
variable.SendKeys ("............................." )
variable.SendKeys ("{enter}" )
variable.SendKeys ("....................................." )
variable.SendKeys ("{enter}" )
variable.SendKeys ("...................................." )
variable.SendKeys ("{enter}" )
WScript.Sleep(3000)
loop
do while (12)
variable.SendKeys ("%{ESC}" )
variable.SendKeys ("{enter}" )
WScript.Sleep(200)
loop
loop
je voudrais juste que les boucles se repetent 12 fois et passe à la suite... là elles sont infini...
Marsh Posté le 25-04-2010 à 04:42:59
Voilà je pense avoir résolu finallement un probleme qui aura durée très longtemps.... ^^
do while (1)
do while Compteur < 12
Compteur = Compteur +1
Set variable=CreateObject("WScript.Shell" )
variable.SendKeys ("%{ESC}" )
variable.SendKeys ("{enter}" )
WScript.Sleep(1000)
variable.SendKeys ("................................. " )
variable.SendKeys ("{enter}" )
variable.SendKeys (".........................................." )
variable.SendKeys ("{enter}" )
variable.SendKeys ("..........................................................." )
variable.SendKeys ("{enter}" )
variable.SendKeys (".................................................." )
variable.SendKeys ("{enter}" )
WScript.Sleep(3000)
loop
do while Compteur2 < 12
Compteur2 = Compteur +1
variable.SendKeys ("%{ESC}" )
variable.SendKeys ("{enter}" )
WScript.Sleep(200)
loop
loop
J'ai un probleme et là je pourrait pas le résoudre sans vous... quand je lance ce programme il me bouffe tout mon cpu ...
Marsh Posté le 25-04-2010 à 17:38:25
voilà j'ai editer mon titre, passé d'une "macro" à .. un script qui n'en utilise pas.
en fait j'ai reprogrammé mon script pour qu'il en utilise moins mais il en utilise toujours .... or mon probleme c'est que je n'est pas de clavier sur la machine donc sa marche pas top.
je vous copie un code simple pour que vous comprenez bien.
Set variable=CreateObject("WScript.Shell" )
do while Compteur < 1
Compteur = Compteur +1
WScript.Sleep(20000)
variable.SendKeys ("^a" )
WScript.Sleep(200)
variable.SendKeys ("^c" )
WScript.Sleep(200)
variable.SendKeys ("%{F4}" )
WScript.Sleep(200)
variable.SendKeys ("%{ESC}" )
WScript.Sleep(200)
loop
do while (1)
WScript.Sleep(2000)
variable.SendKeys ("^v" )
variable.SendKeys ("{enter}" )
variable.SendKeys ("%{ESC}" )
loop
ouvre toi meme un fichier texte
macro :
-selection tout
-copie
-ferme
-changefenetre
colle --> boucle
ce que j'aimerai savoir c'est comment programmer un vbs qui :
ouvre un fichier.txt ((lefichier est déjà edité) ouvre la fenetre )
selectionne la ligne ou tout le document
le copie dans son presse papier
fermer le fichier.txt
changer de fenetre (simuler le alt echap)
***boucle****
coller
appuyer sur entrer
re simuler alt echap
***fin de la boucle ***
Marsh Posté le 25-04-2010 à 17:56:59
J'avais moi aussi cherché à faire du copier/coller en VBS. Mais apparemment, ce n'est pas prévu. Je n'ai trouvé que des astuces qui sont tellement alambiquées, que je ne m'en suis pas servi. Finalement, j'ai utilisé autoit, qui est un logiciel gratuit permettant de faire des scripts comme VBS, mais qui est prévu pour manipuler plusieurs applications, pour gérer le clavier, et la souris, et automatiser tout ce qu'on veut, ou à peu près, voir http://www.autoitscript.com/autoit3/index.shtml , http://www.autoitscript.com/autoit3/docs/ , http://www.autoitscript.com/forum/ [...] opic=48666 .
Marsh Posté le 25-04-2010 à 18:23:35
Merci je vais aller voir et tester, il ne faut pas oublie que la machinen'a ni clavier ni souris ni ecran, c'est un serveur dedié que je gere par " connexion de bureau à distance "
mais je vais essayé. =)
Marsh Posté le 25-04-2010 à 18:54:23
j'aurai besoin d'aide pour ton logiciel : si j'ai bien compris le fonctionnement :
texte à ecrire
appuyer sur entrer
**boucle**
les 12fenetres
**boucle**
j'ai trouver çà pour ceux que sa interesse
http://www.siteduzero.com/tutoriel [...] cript.html
qui ne me sert à rien pour moi ...
parcontre j'ai pu trouver plusieur chose utile :
While 1 ;boucle infini
Sleep(2000) ; pause de 2000ms
Send("tontexte !.{ENTER}" ) ; ecrit tontexte ! et appui sur entree
Sleep(2000) ; pause de 2000ms
Send("!{ESC}" ) ;simule le alt echap
WEnd
Marsh Posté le 25-04-2010 à 20:52:21
http://www.autoitscript.fr/forum/i [...] c218138827
je viens de m'inscrire, ce que je viens de poster dernierement est encore une macro, donc dès que je ferme le bureau à distance le clavier et la souris doivent etre desactiver je sais pas.
va falloir que je fasse tout sans macro mais apparement avec autoit c'est possible.
Marsh Posté le 25-04-2010 à 21:00:47
Désolé, je n'avais pas compris que c'était à distance. Je n'ai jamais essayé de faire ça, et je ne suis pas sûr que ça marche.
Marsh Posté le 25-04-2010 à 22:34:06
on peut toujours essayer ^^
j'ai déjà trouver comment stoker (un texte =) )
$Array[0]=1
$Array[1]=true
$Array[2]="Text"
$Array[3]=$AnotherArray
Marsh Posté le 26-04-2010 à 10:48:43
+1 pour autoit. En plus, tu peux même repérer le contenu des fenêtres par rapporta au contenu de leur titre (ou juste un bout). Il est même possible ensuite de créer un .exe. Y'a aussi un outil pour autoit qui permet d'enregistrer des macros que tu fais toi à la main. Ca génère le code et t'as plus qu'à adapter si besoin est.
Marsh Posté le 26-04-2010 à 19:50:13
Rufo t'es bien gentil mais si tu as lus mes post , les macro j'en veux pas DU TOUT ^^
mais merci quand meme =)
Marsh Posté le 27-04-2010 à 09:30:32
J'ai relu ton topic. Dans ton avant dernier post, tu mets :
Citation : va falloir que je fasse tout sans macro mais apparement avec autoit c'est possible. |
Faudrait savoir. Je ne vois pas pourquoi tu ne veux pas de macros Autoit est régulièrement utilisé dans l'admin système, donc tout à fait pour ce que tu veux faire. Tu peux même te faire une IHM si besoin est. Autoit, ça va bien au-dela de simple macro, c'est un petit langage de développement facile à prendre en main...
Edit : perso, j'ai développé un installeur automatique d'applications (applis sur un CD) qui remplis tous les champs des setup de chaque appli (+ clics sur les boutons) et en cas de plantage ou de reboot, y'a même une procédure pour reprendre où ça en était resté (écriture dans la base de registre).
J'ai également fait avec autoit un script qui modifie la conf réseau d'internet explorer pour passer de l'utilisation du compte free à celui de la connexion d'entreprise pour le portable de mon père.
Marsh Posté le 28-04-2010 à 15:03:45
ok maintenant utilise un programme macro et souris et debranche ta souris et ton clavier de ton pc , j'ai essayer sa ne fonctionne plus et c'est dommage
j'ai une machine pas un pc c'est dit plus haut ( machine virtuel ovh pour etre précis )
mon probleme ressemble à çà http://www.autoitscript.fr/forum/v [...] 084#p27084
merci pour ta réponse rufo =)
si tu t'y connais en programmation autoit peut etre pourra-tu m'aider pour gerer les clic+souris?
merci encore, sa fait plaisir d'avoir de l'aide =)
PS : j'ai vue vite fait que le clr est un langag pour machine virtuelle justement mais j'en suis pas sur , est-il compliqué ?
Marsh Posté le 25-04-2010 à 02:22:30
Bonjour à tous ,
voilà j'ai un petit soucis existe t-il un raccourcis windows pour affichier la fenetre suivante, sachant que j'ai 12 fenetres ouverte tout le temps et seulement 12.
j'ai bien essayer en vbs avec le fameux alt tab mais sa ne switch qu'avec 2 fenetres maximums.
en gros le programme commencerai comme çà -> je le lance :
*******************
il attend 10s
il ecrit mes messages
il change de fenetre
*******************
le tout dans une boucle
j'aimerai bien avoir des reponses, même si ce n'est qu'un avis, merci.
j'ai beau avoir fait ceci : sur mon pc quand je le fait avec mes petites mains sa marche très bien mais avec ce vbs pas du tout ...
do while(3)
Set variable=CreateObject("WScript.Shell" )
variable.SendKeys ("%{TAB}{TAB}" )
WScript.Sleep(3000)
variable.SendKeys ("%{TAB}{TAB}{TAB}" )
WScript.Sleep(3000)
variable.SendKeys ("%{TAB}{TAB}{TAB}{TAB}" )
WScript.Sleep(3000)
loop
essayer avec 3 ou 4 fenetre minimum avec vos mains sa marche.. mais pas au clavier ... c'est barbant ....
en gros je passe à la fenetre une ... à la deuxieme .. a la troisieme etc
Message édité par dc_volo le 25-04-2010 à 20:52:38