Buenas tarde
artigest!
Definitivo ese manera es inestable, insegura, pero bueno la idea es apoyarte con lo que requieres.
Cuando se trabaja con emulación de teclas hay que dar tiempo a que se resuelva el comando.
Se depende de la velocidad de la pc y la conexión a internet, Bajo esta premisa entonces variará de pc a pc.
Incluso alguna veces sendkey() no es efectivo y hay que echar mano de otras herramientas como Autoit.
Cuando he tenido que usar ese método he tenido también que implementar configuración para aumentar/disminuir los tiempos de espera de carga de las páginas y los tiempos de espera de respuesta de cada envío de teclas.
Algo así:
lnTiempoCarga=5&&segundos
lnTiempoKeys=2000&&milisegundos
lcWait=VAL(SYS(2))+
lnTiempoCarga
DO WHILE VAL(SYS(2))<lcWait
*aquí la rutina de comprobación de carga y salida del ciclo
ENDDO
*seguida de una rutina de error por si no cargó la página
Y en el SendKey()
wshell.SendKeys(1000+
lnTiempoKeys
)&&los 1000 son la base que en pruebas funcionó
En resumen mi sugerencia es que ajustes tus tiempos de espera.
Para pc más veloces se requiere más tiempo de espera.
Te adjunto una imagen de mi configuración de espera de una aplicación con emulación de teclas.
Suerte
zarlu
Chetumal, Quintana Roo, México