Bon je suis totalement débutant avec Autoit (je suis webmaster, je maîtrise d'autres langages comme le Php, java, javascript, sql ...). J'aimerais automatiser une tâche, voila les explications:
J'aimerais en fait que tous les soirs, un petit .exe lancé avec le planificateur de tâches ouvre Microsoft Access 97 (oui je sais ça date
J'aimerais ensuite que ce fichier .txt soit envoyé sur un serveur FTP par Filezilla pour être exploité (récupération des infos en php et transfert dans la base MySQL). Etant sur un serveur gratuit free.fr, je ne peux pas utiliser d'ODBC pour lier mes bases d'où cette solution d'automatisation.
Bon donc j'ai commencé mon petit script et je rencontre quelques soucis. Je veux faire deux tabulations à un moment mais cette étape ne veut pas être prise en compte ... (je ne peux pas utiliser les control ID, car ils sont tout simplement inexistants)
Voici mon code:
Code : Tout sélectionner
; DEBUT SCRIPT
; Lien vers Access
Run("C:/Program Files/Microsoft Office/Office/MSACCESS.EXE")
;Attente d'ouverture de la première fenêtre
WinWaitActive("Microsoft Access", "Créer une base de données avec")
;Ouvrir un fichier
Send("{ENTER}")
WinWaitActive("Ouvrir", "Regarder dans", 2)
;On attend la barre déroulante
$i = 1
While $i <= 9
Send("{TAB}")
$i = $i + 1
WEnd
;On va dans le disque dur C:// et on cherche le fichier .mdb
Send("{DOWN}")
Send("Disque local")
Send("{ENTER}")
Sleep(1000)
Send("{TAB}")
Send("Utilisateurs")
Send("{ENTER}")
Sleep(1000)
Send("françoise")
Send("{ENTER}")
Sleep(1000)
Send("Documents")
Send("{ENTER}")
Sleep(1000)
Send("Web")
Send("{ENTER}")
Sleep(1000)
Send("SiteWeb")
Sleep(1000)
Send("{ENTER}")
Sleep(1000)
Send("test.mdb")
Send("{ENTER}")
;On attend que la base soit chargée
WinWaitActive("Microsoft Access", "test", 2)
;On va cliquer sur Exporter
Send("{ALT}+f")
$i = 1
While $i <= 5
Send("{DOWN}")
$i = $i + 1
WEnd
Send("{ENTER}")
WinWaitActive("Enregistrer sous...", "V&ers un fichier ou une base de données externe", 2)
Send("{ENTER}")
;On dit qu'on veut exporter en .txt
WinWaitActive("Enregistrer Table 'sejours' dans...", "", 2)
Send("sejours")
Send("{TAB}")
Send("Fichiers texte")
Send("{TAB}")
Send("{ENTER}")
WinWaitActive("Microsoft Access", "Voulez-vous le remplacer?", 3)
Send("{TAB}")
Send("{ENTER}")
Sleep(2000)
Send("{ALT}+s")
Sleep(2000)
;ça bloque ici
$i = 1
While $i <= 2
Send("{TAB}")
$i = $i + 1
WEnd
;Pour changer la valeur dans la case délimiteur de texte
Send("{{}")
Send("{ALT}+s")
Sleep(1000)
Send("{ALT}+t")
Sleep(1000)
Send("{ENTER}")

Merci d'avance pour votre aide





