Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Sekalaiset: Kirjoittaminen robotilla

Mikko1979 [24.08.2006 08:40:30]

#

Hieno esimerkki paljon apua=)
Mutta tietääkö joku saako odotettua niin kauan, että jokin toiminto suoritetaan loppuu esim excel makro ennen kuin jatketaa näppäin yhdistelmien syöttämistä? ps. makron suoritus saattaa kestää ennalta määräämättömän ajan. =S

tsuriga [24.08.2006 13:47:38]

#

En ole Javaa aikoihin vääntänyt, vaan muistan tämmoisen ongelman nähneeni jollain ja ratkaisu oli jokin seuraavista.

http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Robot.html
waitForIdle(), wait(), notify().

En kyllä valitettavasti osaa olla paremmin avuksi ennenkuin heitän taas Javan tulille ja testailen :E.

Mikko1979 [28.08.2006 12:14:32]

#

eli tässä pieni esimerkki.

//Avataan excel tiedosto
try{
Runtime.getRuntime().exec("excel C:\\exceltiedosto.xls");
}catch(Exception e){}

//alt pohjaan
robot.keyPress(KeyEvent.VK_ALT);

//Otetaan makro käyttöön "alt o" painamalla
robot.keyPress(KeyEvent.VK_O);

//TÄSSÄ VÄLISSÄ PITÄISI ODOTELLA, ETTÄ MAKRO EHTII HAKEMAAN TIEDOT KANNASTA JA PÄIVITTÄÄ EXCEL TAULUKON ps.excel hakee verkon yli tiedot
//joten saattaa hetki pyörähtää jos verkossa joku tökkii.

robot.setAutoWaitForIdle(true); // tekeekö tämä sen??


//jatketaan pikanäppäimien painelemista kun tiedot ovat päivittyneet exceliin
//Tiedosto valikko auki alt t
robot.keyPress(KeyEvent.VK_T);
robot.delay(500);

//Lopeta alt p
robot.keyPress(KeyEvent.VK_P );
robot.delay(500);

//Tallennetaanko muutokset alt k
robot.keyPress(KeyEvent.VK_K);

//vapautetaan alt näppäin
robot.keyRelease(KeyEvent.VK_ALT);

Eli pitäis käytännössä saada ohjelma odottamaan niin pitkään kun kantahaku kestää tai saada kantahausta joku palaute exceliltä kun se on suoritettu.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta