Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
тупик у меня с Excel (моут уволить даже) 05.09.09 05:07
Автор: void <Grebnev Valery> Статус: Elderman
|
На спредшите есть одна единственная формула (от Bloomberg Add-in)
=BDP("MSFXCAD Index", "PX_LAST"). Если запустить Excel, то это хозяйство соединяется с Bloomber терминалом и по инет получает одно число. Может занять 10-20 секунд, пока значение формулы будет получено. Надо сделать следующее:
1) запустить Excel из командного файла (например, start excel myfile.xls /e)
2) Excel должен получить данные (обновить значение формулы), записать это значение в текстовый файл (типа, "2009-09-04", "1.1094").
3) автоматически закрыться.
Сделал так:
WorkBook_On_Open :
1) Проверяем пока значение в ячейке с формулой <> "#N/A ...."
2) Пишем в файл значение ячейки с формулой
3) Application.Quit
Результат - не работает. В файле постоянно "#N/A ...." вместо данных.
Такое ощущение, что пока исполняется код WorkBook_On_Open, обновление формул блокировано. Значение (вместо "#N/A ...." ) получается только по выходу из WorkBook_On_Open. Если же прямо из WorkBook_On_Open вызвать Application.Quit, то в файле оказывается "#N/A ...." .
Как быть?
|
|
Done using Application.AfterCalculate Event. Thanks to everybody! 08.09.09 18:17
Автор: void <Grebnev Valery> Статус: Elderman
|
|
|
Запустить это все через automation 06.09.09 07:46
Автор: amirul <Serge> Статус: The Elderman
|
> 1) запустить Excel из командного файла (например, start > excel myfile.xls /e) var xl = new ActiveXObject("Excel.Application");
> 2) Excel должен получить данные (обновить значение > формулы), записать это значение в текстовый файл (типа, > "2009-09-04", "1.1094"). Точно не помню, но здесь нужно открыть Workbook из файла, взять первый Worksheet, и проверять в цикле нужное значение через Cell(...).Value2.
У WSH есть объект WScript, у которого в частности есть Sleep (чтоб не сильно нагружать проц бестолковым поллингом)
> 3) автоматически закрыться. xl.Quit();
> Как быть? Если не разберешься сам - могу поковыряться. Думаю такой вариант будет работать, потому как скрипт работает совершенно асинхронно от COM-сервера (собственно самого excel.exe).
|
| |
В принципе да, спасибо. Хорошая идея сама по себе. Попробую,... 07.09.09 00:56
Автор: void <Grebnev Valery> Статус: Elderman
|
В принципе да, спасибо. Хорошая идея сама по себе. Попробую, если с Excel OnTime или OnComplete не получится.
|
|
Нафига Excel ? 05.09.09 14:20
Автор: Den <Денис Т.> Статус: The Elderman Отредактировано 05.09.09 14:21 Количество правок: 1
|
Нафига Excel ?
Не проще ли было для получения данных из инета состряпать dll, которую затем использовать как угодно, например для создания консольного приложения - вывода данных в stdout и дальнейшего пихания этих данных непосредственно в текстовый файл прямо из командного скрипта без всяких excel'ей?
|
| |
То С API которое даёт Bloomberg - почему-то даёт всё, кроме... 05.09.09 17:59
Автор: void <Grebnev Valery> Статус: Elderman
|
> Нафига Excel ? > Не проще ли было для получения данных из инета состряпать > dll, которую затем использовать как угодно, например для > создания консольного приложения - вывода данных в stdout и > дальнейшего пихания этих данных непосредственно в текстовый > файл прямо из командного скрипта без всяких excel'ей? То С API которое даёт Bloomberg - почему-то даёт всё, кроме MSFXCAD Index (написано другим человеком). Excel даёт всё. У меня достаточное ограниченное время (манагеры не станут ждать просто попросят завтра не приходить) - некогда копать, почему API не работает в этом случае.
|
| | |
Да елки-палки!... Неужели не посмотреть в template как реализован вызов API функций в VBA??? 06.09.09 01:02
Автор: Den <Денис Т.> Статус: The Elderman Отредактировано 06.09.09 01:04 Количество правок: 1
|
|
| | | |
Поясни. Куда смотреть? В Add-in? 06.09.09 02:43
Автор: void <Grebnev Valery> Статус: Elderman
|
|
| | | | |
Можешь скинуть excel template и все, что к нему прилагается на мыло? 07.09.09 00:12
Автор: Den <Денис Т.> Статус: The Elderman
|
|
| | | | | |
Могу. Скину :) 07.09.09 01:01
Автор: void <Grebnev Valery> Статус: Elderman
|
|
|
|