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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Да елки-палки!... Неужели не посмотреть в template как реализован вызов API функций в VBA??? 06.09.09 01:02  Число просмотров: 1442
Автор: Den <Denis> Статус: The Elderman
Отредактировано 06.09.09 01:04  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
<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