Voici mon soucis du moment, je suis en train de travailler sur une automatisation avec SEND, pour résumer sans raconter ma vie, le but est d'ouvrir une application hta et de remplir des champs à partir d'un fichier texte de datas (je prend le focus sur mon hta, je fais 4 tabulations, j'écris la première ligne d'un fichier texte, Enter, je double clic à un emplacement précis, je fais 12 tabulations, j'écris la deuxième ligne de mon fichier texte, Enter ... et je continu comme ça avec la troisième ligne de mon fichier txt.... etc) en gros c'est le principe.
Le soucis viens de l'écriture de ma variable (cf : code ci dessous) je ne comprend pas pourquoi, il ne m'écrit que la première lettre de la ligne que je veux lui donner à manger (exemple, ma ligne c'est :"turlututu" il ne m'écris que "t") ?? si cela parle à quelqu'un... je suis preneur
bonne journée à tous
Tomas
Code : Tout sélectionner
$file = FileOpen("liste.txt", 0) ; mon fichier texte de datas
While 1 ; début de ma boucle
$linetoread = FileReadLine( $file )
MsgBox(4096, "visualisation", $linetoread , 1) ; pour tester qu'il me lit bien la ligne entière
WinActivate("nom de ma fenêtre hta", "") ; donne le focus sur ma fenêtre, ça fonctionne
Sleep(1000)
Send("{TAB 4}") ; 4 tabulations, ça fonctionne
Sleep(1000)
Send("{"&$linetoread&"}") ; Send ("texte en dur") fonctionne mais Send("{"&$linetoread&"}") ne m'écrit que la première lettre de la ligne ??
Sleep(1000)
Send("{ENTER}")
Sleep(1000)
MouseClick("left", 36, 235, 2, 5) ; simuler un double clic, fonctionne
Sleep(1000)
Send("{TAB 12}")
Sleep(1000)
$linetoread = FileReadLine( $file ) ; idem, première lettre de la ligne ??
Sleep(1000)
Send("{"&$linetoread&"}")
Sleep(1000)
Send("{ENTER}")
Sleep(1000)
If @error = -1 Then ExitLoop
If $linetoread = "fin" Then ; j'écris fin à la fin de mon fichier datas
FileClose($file)
Exit
EndIf
Wend
FileClose($file)


