Тема: QueryTable
Показать сообщение отдельно
Старый 04.10.2006, 11:22   #13  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Ну в общем народ в мире тоже мучается аналогичными проблемами: http://www.pcreview.co.uk/forums/thread-2274645.php

В качестве временного отладочного решения можно попробовать открывать это окошко через последовательность нажатий клавиш (а там, глядишь, может и сам бизнес-процесс поменяете )

При это Excel должен быть обязательно виден и иметь фокус, иначе кнопки сработают, например, в редакторе X++, откуда запускается джоб. В самом Excel должна быть активна ячейка, входящая в диапазон веб-запроса. В рамках джоба - эта ячейка А1 на первом листе файла TestWebQuery.xls, в котором уже должен присутствовать ранее сохраненный веб-запрос.
Код:
static void Job53(Args _args)
{   
    COM xlApp, wbks, wbk, wkss, wks;
    COM rng;
 
    xlApp = new COM('Excel.Application');
    xlApp.Visible(true);
 
    wbks = xlApp.Workbooks();
    wbk = wbks.Open(@'C:\TestWebQuery.xls');
 
    wkss = wbk.Worksheets();
    wks = wkss.Item(1);
    wks.Select();
 
    rng = wks.Range('A1');
    rng.Select();
 
    xlApp.SendKeys('+{F10}{UP}{UP}{UP}{UP}~');
}
Строковый параметр метода SendKeys означает такую реальную последовательность клавиш:
- Shift+F10 - вызов контекстного меню (как правый клик мышкой)
- 4 раза "стрелка вверх" - позиционирование в меню на пункте "Edit Query"
- Enter - активизация пункта "Edit Query" и отображение нашего желанного диалога
Изображения