Sub cree_bat()
Open "c:\temp\Ftest.bat" For Output As #1
Print #1, "cd\"
Print #1, "cd c:\sqlite3"
Print #1, "sqlite3 places.sqlite"
Print #1, ".dump txt"
Print #1, ".output test.txt"
Print #1, "select url,title from moz_places;"
Print #1, ".exit"
Close #1
Shell "c:\temp\Ftest.bat", vbNormalFocus
End Sub
Sub Test__OK()
Shell "cmd", vbNormalFocus 'ok
[COLOR=Green]'l'invite MSDOS apparait OK[/COLOR]
Application.Wait Time + TimeSerial(0, 0, 3)
SendKeys "dir /?"
[COLOR=Green]'dir /? s'incrit et s'exécute OK[/COLOR]
Application.Wait Time + TimeSerial(0, 0, 3)
[COLOR=Green]'le temps s'écoule tic tac tic tac OK[/COLOR]
SendKeys Chr(13)
[COLOR=Green]' et il se passe rien
'Appuyez sur une touche maintenant reste affiché
'et aucune frappe de touche n'est simulé[/COLOR]
End Sub
Sub Test_OK()
Dim id As Variant
id = Shell("cmd", vbNormalFocus)
Application.Wait Time + TimeSerial(0, 0, 3)
AppActivate id 'Active la fenêtre dos
SendKeys "dir /?"
SendKeys Chr(13)
Application.Wait Time + TimeSerial(0, 0, 1) 'Attent l'affichage de la première page
SendKeys Chr(32) 'Affiche la deuxième
End Sub
Sub Test_OK()
Dim id As Variant
id = Shell("cmd", vbNormalFocus)
Application.Wait Time + TimeSerial(0, 0, 2)
AppActivate id 'Active la fenêtre dos
SendKeys "cd c:\sqlite3"
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys "~"
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys "sqlite3 places.sqlite" '
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys "~"
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys ".dump txt"
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys "~"
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys ".output hhhtest.txt"
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys "~"
SendKeys "select url,title from moz_places;"
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys "~"
SendKeys ".q"
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys "~"
SendKeys "exit"
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys "~"
End Sub
[B]=REPT("Bravo * ";10)[/B]
Sub Test_OK()
Dim id As Variant
id = Shell("cmd", vbNormalFocus)
Application.Wait Time + TimeSerial(0, 0, 1)
AppActivate id 'Active la fenêtre dos
Application.Wait Time + TimeSerial(0, 0, 1)
SendKeys "dir", True
SendKeys Chr(32), True
SendKeys "/?", True
SendKeys Chr(13), True
SendKeys Chr(32) 'Affiche la deuxième
End Sub
Ou 1 seconde est le temps minimal pour que la macro reste fonctionnelle?Peut-on réduire le temps en utilisant des milliseconds
en utilisant GetTickCount ?