МГС  Московская Гигабитная Сеть
 www.umos.su info@umos.su  Выделенные линии Ве/б-Студия Хостинг Collocation
 Тарифы Вопросы и ответы Полезная информация Контакты

Софт >> Excel

Страниц в ветке: 1
aligerno
Гость


Зарегистрирован: 28/05/2007
Сообщений: 1
Нахождение: Россия,Санкт-Петербург
Программное прерывание вывода данных по DDE в Excel
      #381484 - 08/10/2015 13:34

У меня в Excel ( на лист рабочей книги) выводятся данные по DDE из таблицы биржевого терминала QUIK...Далее я это все обрабатываю с помощью кода написанного на VBA. Программный код инициализируется с помощью стандартной процедуры - Worksheet_Calculate().
На время обработки кода есть необходимость программным образом приостановить на короткое время вывод данных по DDE а потом опять запустить т.е. чтобы данные на какое время не выводились на лист. Т.е. какое время DDE сервер будет накапливать эти данные в буфере ( не теряя) до тех пор пока вывод не будет разрешен опять.Не подскажете каким образом это можно сделать включив определенную команду или метод в программный код VBA?

Поясню - похожий процесс можно наблюдать когда пытаешься редактировать данный лист ( куда выводятся данные по DDE) - тогда вывод данных по DDE приостанавливается до тех пор пока будет закончено редактирование листа. Или еще - нажимаешь правой клавишей мыши на любую ячейку данного листа - вывод приостанавливается тоже, отпускаешь - вывод данных продолжен...Конечно можно, наверно, сделать эмуляцию этих действий в программном коде но это на мой взгляд достаточно неэффективно и опять таки не очень быстро.
Хотелось бы узнать более краткий и эффективный метод такого прерывания..


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
SocolМодератор
Профессор
****

Зарегистрирован: 16/04/2003
Сообщений: 2369
Нахождение: Пермь
Re: Программное прерывание вывода данных по DDE в Excel [re: aligerno]
      #381962 - 08/11/2015 23:51

Стоит смотреть в настройках программы -ДДе -сервера, и ДДЕ клиента - в данном случае экселя. Обычно в какокй-то из них (наверное все-же сервере) указывается время тайм-аута по ожиданию ответа от клиента.

Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
shestakow
Свой человек
*****

Зарегистрирован: 13/09/2011
Сообщений: 30
Нахождение: Собянинск Сити
Re: Программное прерывание вывода данных по DDE в Excel [re: Socol]
      #382005 - 11/11/2015 19:56

Еще можно попробовать увеличить/уменьшить таймаут.
Раньше в квике для уменьшения скорости обновления в файле info.ini была строка price-timeout=10 что означало время обновления 10 мс.
Можно было бы попробовать написать макрос который для прерывания открывал бы этот файл в блокноте, изменял время например на 10 миллионов и сохранял. Потом обработка вашего кода и в конце вызов макроса, который возвращает настройки таймаута на значение, которое было по умолчанию с сохранением файла.

Спросите на форуме квика, где сейчас прописано время обновления, а так же будет ли квик "хавать" новые параметры (сохраненные) без перезапуска самого себя.

Редактировано shestakow (11/11/2015 19:58)


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Страниц в ветке: 1



Дополнительная информация
0 зарегистрированных и 5 незарегистрированных пользователей просматривает форум.

Модератор:  michaelus, SGN, EVM, x4x, 000, Akelo, Socol, Ленивый, Ptem, Kadavr, podval, untoxa, VovaM, Igonter 

Распечатать тему

Доступ и ограничения:
      Вы не можете начать новую тему
      Вы не можете отвечать на тему
      HTML включён
      UBBCode включён

Рейтинг:
Тема прочитана: 4521

Рейтинг темы

Перейти на

Send letter to Poul | Предупреждение Poul Trade Forum

Powered by UBB.threads™ 6.5.4

Generated in 0.015 seconds in which 0.004 seconds were spent on a total of 12 queries. Zlib compression enabled.