Boa tarde Pessoal,
Sou novo no fórum, se eu estiver postando no lugar errado ou de forma errada já me adianto e peço desculpas, mas estou tendo dificuldades em fazer funcionar o meu código.
Sou novato com Java, estou fazendo um "robô" que pesquisa o numero da planilha em um programa que roda na web, e de lá copio as informações de contato para a planilha, tudo usando o robot.
Mas preciso fazer uma verificação se o numero que copiou é igual ao numero da pesquisa, eu já consegui ler a planilha e pegar o valor da célula, mas o valor da verificação(as2) não atualiza quando eu rodo novamente.Vou colar o código e o anexo para melhor entender. O código roda com o Excel aberto. No começo simula um mouse e um teclado, e após isso eu "abro" o excel pelo java para conferir.
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class Roboc {
public static String x;
public static void main(String[] args) throws IOException, BiffException {
try {
} catch (Exception e) {
}
try {
// Instanciamos a classe robots, para poder usar seus metodos..
Robot robot = new Robot();
int x = 5;
// Declarando a variável que controlara o while.
int loop = 1;
// Equanto o valor de loop for menor que x faça
while (loop <= (x)) {
// move o mouse até a planilha
robot.mouseMove(1200, 280);
// clica na planilha
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(10); // delay
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(10);
// copia
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_C);
robot.delay(10);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_C);
robot.delay(10);
robot.mouseMove(240, 60);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(10); // delay
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(100);
robot.mouseMove(250, 195);
robot.delay(10);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(10); // delay
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(100);
// cola
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.delay(10);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_V);
robot.delay(10);
robot.keyPress(KeyEvent.VK_ENTER);
robot.delay(10);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.delay(1000);
robot.mouseMove(278, 377);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(10); // delay
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(100);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_C);
robot.delay(10);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_C);
robot.delay(10);
robot.mouseMove(1200, 280);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.delay(10); // delay
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.delay(500);
robot.keyPress(KeyEvent.VK_RIGHT);
robot.delay(10);
robot.keyRelease(KeyEvent.VK_RIGHT);
robot.delay(100);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.delay(10);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_V);
robot.delay(10);
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_B);
robot.delay(10);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_B);
//aqui eu abro a planilha e verifico se atualizou o valor
File fiz = new File("C:\\Users\\Joao\\Desktop\\teste.xls");
Workbook workbook = Workbook.getWorkbook(fiz);
Sheet sheet = workbook.getSheet("primeiro");
Cell celula1 = sheet.getCell(1, 1);
String as2 = celula1.getContents();
//aqui deveria retornar o valor atualizado, mas me retorna o primeiro valor
System.out.println("Coluna 2: " + as2);
workbook.close();
loop++;
}
} catch (AWTException e) {
e.printStackTrace();
}
}
public static String getX() {
return x;
}
public static void setX(String x) {
Roboc.x = x;
}
}