информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
 С наступающим 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Вроде есть такое Application OnTime... 05.09.09 21:59  Число просмотров: 1478
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
Вроде есть такое Application OnTime (http://msdn.microsoft.com/en-us/library/bb223501.aspx) & event AfterCalculateю
Прошу прощения за бывший глупый вопрос
<programming>
тупик у меня с 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 не получится.
Вроде есть такое Application OnTime... 05.09.09 21:59  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
Вроде есть такое Application OnTime (http://msdn.microsoft.com/en-us/library/bb223501.aspx) & event AfterCalculateю
Прошу прощения за бывший глупый вопрос
Нафига Excel ? 05.09.09 14:20  
Автор: Den <Denis> Статус: 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 <Denis> Статус: 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 <Denis> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Могу. Скину :) 07.09.09 01:01  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach