информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медСтрашный баг в WindowsГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Вроде есть такое Application OnTime... 05.09.09 21:59  Число просмотров: 1605
Автор: 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 <Денис Т.> Статус: 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
<"чистая" ссылка> <обсуждение закрыто>
1




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


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