Подписаться на событие изменения ячейки в Excel.

Приведенный ниже пример прослушивает события изменения ячеек в Excel. Метод setEventListener используется для задания обработчика, который печатает в консоль Java приложения изменения ячейки A1.

Пример соединяется с уже запущенным Excel, поэтому запустите Microsoft Excel до выполнения примера, введите в ячейку A1 значение и поменяйте его несколько раз во время выполнения примера.

try
{
    final DDEClientConversation conversation = new DDEClientConversation();

    conversation.setEventListener(new DDEClientEventListener()
    {
        public void onDisconnect()
        {
            System.out.println("onDisconnect()");
        }

        public void onItemChanged(String topic, String item, String data)
        {
            System.out.println("onItemChanged("+topic+","+item+","+data.trim()+")");
        }
    });

    conversation.connect("Excel", "Sheet1");
    try
    {
        conversation.startAdvice("R1C1");

        System.out.println("Press Enter to quit");
        System.in.read();

        conversation.stopAdvice("R1C1");
    }
    finally
    {
        conversation.disconnect();
    }
}
catch (DDEMLException e)
{
    System.out.println("DDEMLException: 0x" + Integer.toHexString(e.getErrorCode())
                       + " " + e.getMessage());
}
catch (DDEException e)
{
    System.out.println("DDEException: " + e.getMessage());
}

Скачать ExcelAdviceExample.java
Скачать все примеры и библиотеку

Запуск примера из консоли:

java -cp .;pretty-tools-JDDE-2.1.0.jar ExcelAdviceExample