Настройка dde в excel
Лабораторный инструмент имеет RS232 порт, через который выводятся данные каждые 10 минут. Я хотел бы использовать значения из выводимых данных в формах, формулах и моих скриптах VBA в документах Microsoft Excel.
Требования:
- Advanced Serial Data Logger (ASDL) Professional или пробная версия;
- Модуль "ASCII data parser and query" для логгера;
- Модуль "DDE server" для Advanced Serial Data Logger.
Подразумевается что:
Вы настроили параметры связи с устройством (скорость, количество бит данных, контроль передачи и т.п.) в логгере и можете принимать данные без каких либо ошибок.
Вы можете работать в Microsoft Excel, в частности создавать и использовать формы.
Решение:
Замечание: Этот пример базируется на предыдущем примере с именем "Данные из последовательного порта и Excel. Рисование графиков в реальном времени". Этот пример будет использовать настройки парсера и пример данных их этого примера. Поэтому вы можете прочитать этот обучающий пример перед продолжением чтения этого примера.
Парсер готов и мы протестировали его в предыдущем примере. Если парсер верно настроен, то в окне DDE сервера будут отображены наши переменные и их значения (рис.1).
Рис.1. Данные из COM порта, Excel и DDE. Окно DDE сервера.
Все переменные теперь готовы для использования в Microsoft Excel. Имя переменной отображается в колонке "Имя". Вы должны знать имя DDE сервера и имя топика для того, чтобы получать данные через DDE. Эта информация представлена на следующем рисунке (рис.2 поз.1). Пожалуйста, обратите внимание, что имя сервера может отличаться на вашем компьютере.
Рис.2. Данные из COM порта, Excel и DDE. Параметры сервера DDE.
Кликните на кнопке "OK" и закройте окно настройки модуля сервера DDE, а затем кликните кнопку "OK" в окне настройки конфигурации.
Поскольку мы хотим рисовать графики в реальном времени, то мы должны подготовить файл Excel перед следующим шагом. В этом примере мы создали диаграмму с тремя графиками. Каждый график базируется на данных их колонок A, B или C. Мы будет помещать значения переменных FLOW1, VOLW1 и TEMP1 в соответствующую колонку, а Excel будет автоматически обновлять нашу диаграмму. Мы будем использовать только последние 30 значений на нашей диаграмме. В этом примере мы поместили 3 ссылки на DDE переменные в ячейки D21-F21 вида: "=testcore|ddesrv!srviFLOW1" (без кавычек) (рис.3 и 4). Как вы можете видеть, имя сервера, имя топика и имя переменной указаны в этой ссылке на данные DDE.
Рис.3. Данные из COM порта, Excel и DDE. Ссылки на данные DDE.
После того, как вы создали ссылки на данные DDE в вашем документе, Microsoft Excel автоматически запустит логгер и получит данные. Если логгер уже запущен, то Microsoft Excel попробует считать данные из запущенной программы. Если логгер еще не получил и не обработал никаких данных, то Microsoft Excel отобразит информацию о неверной ссылке, но считает значения, как только данные будут получены и обработаны логгером.
Теперь мы готовы для создания кода VBA, который будет обрабатывать наши DDE данные. Этот код будет копировать значения DDE в колонки, передвигать старые значения и добавлять строки в историю значений (рис.4, 5).
Рис.4. Данные из COM порта, Excel и DDE. Исходный документ Excel.
Рисунок выше содержит следующие элементы:
- Данные DDE будут помещаться здесь, и будут служить источником данных для графиков;
- График;
- История данных.
Код VBA из файла Excel
Файл Excel, который мы создали, вы можете скачать здесь и использовать в вашей работе.
Хорошо. Процедура настройки завершена и пришло время попробовать получить данные в Excel.
Подсоедините ваше устройство или включите его, если это необходимо. Попробуйте принять пакет данных от устройства. Если парсер верно настроен, то в Excel будут отображены наши DDE переменные и их значения (рис.5).
Рис.5 Данные из COM порта, Excel и DDE. Результаты.
Рисунок выше содержит следующее:
- Последние 30 значений DDE данных;
- Последние значения переменных DDE сервера;
- История данных DDE.
Файл Excel со всеми значениями и графиками вы можете скачать здесь.
Этот метод получения данных сложен и может быть непонятен для неподготовленного пользователя, но позволяет вам обрабатывать и отображать данные как вам хочется. Позднее, вы можете сделать следующие улучшения:
Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.
Симптомы
Решение
Для решения этой проблемы воспользуйтесь приведенными ниже способами в указанном порядке.
Способ 1. Игнорировать DDE
Чтобы изменить этот параметр, выполните приведенные ниже действия:
Эта проблема может возникнуть, если в параметрах Excel установлен флажок Игнорировать другие приложения, использующие динамический обмен данными (DDE).
Дополнительные сведения об отключении DDE см. в следующей статье базы знаний Майкрософт:
Если устранить проблему с помощью этих действий не удалось, перейдите к способу 2.
Способ 2. Восстановление виртуализации взаимодействия с пользователем (UE-V)
Если вы используете обновление пользовательского опыта виртуализации (UE-V), установите Hotfix Package 1 для Microsoft User Experience Virtualization 2.0 (KB2927019).
Если вы не уверены, используете ли вы UE-V, просмотрите список программ в Программы и компоненты на панели управления. Запись для «Центра параметров компании» указывает на то, что вы используете UE-V.
Если устранить проблему с помощью этих действий не удалось, перейдите к способу 3.
Способ 3. Сброс сопоставления файлов
Чтобы проверить, правильно ли работают сопоставления файлов в системе, сбросите сопоставления файлов Excel на настройки по умолчанию. Для этого выполните описанные ниже действия в зависимости от установленной операционной системы. Windows 10
Windows 8
- На начальном экране введите «Панель управления».
- Выберите Панель управления.
- Выберите Программы по умолчанию > Задание программ по умолчанию.
- Выберите Excel > Выберите по умолчанию для этой программы.
- На экране Сопоставление программ выберите Выбрать все > Сохранить.
Windows 7
- Выберите Пуск > Панель управления.
- Выберите Программы по умолчанию.
- Выберите Сопоставление типов файлов или протоколов с конкретными программами.
- Выберите Лист Microsoft Excel, затем выберите "Изменить программу".
- В разделе Рекомендуемые программы выберите Microsoft Excel.
- Если Excel не отображается в этом списке, выберите Обзор, найдите папку установки Excel, выберите Excel.exe > Excel.
Если устранить проблему с помощью этих действий не удалось, перейдите к способу 4.
Способ 4. Восстановление Office
Возможно, требуется восстановить программы Office. Для этого следуйте инструкциям для вашего типа установки и операционной системы.
Для Office 365, установленной по технологии "нажми и работай"
- В поле поиска введите Панель управления, а затем выберите Панель управления в результатах поиска.
- В разделе Программы выберите Удаление программы.
- Нажмите Microsoft Office 365 > Изменить.
- Нажмите Восстановление по сети > Восстановить.
После завершения восстановления может потребоваться перезагрузить компьютер. Windows 8
- На начальном экране введите «Панель управления».
- Выберите Панель управления.
- В разделе Программы выберите Удаление программы.
- Выберите Microsoft Office 365 > Изменить.
- Выберите Восстановление по сети > Восстановить.
После завершения восстановления может потребоваться перезагрузить компьютер.
- Выберите Пуск >Панель управления.
- Дважды щелкните Программы и компоненты.
- Выберите Microsoft Office 365 > Изменить.
- Выберите Восстановление по сети > Восстановить.
После завершения восстановления может потребоваться перезагрузить компьютер.
Для установки Office 2016, 2013, Office 2010 или Office 2007
Для восстановления Office 2013, Office 2010 или Office 2007, следуйте шагам в следующей теме веб-сайта Office:
Если устранить проблему с помощью этих действий не удалось, перейдите к способу 5.
Способ 5. Выключите надстройки
Надстройки Excel и COM также могут вызывать эту проблему. Эти два вида надстроек расположены в разных папках. Для тестирования отключите и изолируйте конфликт, отключив каждую надстройку по одному. Для этого выполните следующие действия:
- В меню Файл выберите пункт Параметры > Надстройки.
- В списке Управление в нижней части экрана выберите элемент Надстройки COM > Перейти.
- Удалите одну из надстроек в списке, затем выберите OK.
- Перезапустите Excel, дважды щелкнув значок или имя файла для книги, которую вы пытаетесь открыть.
- Если проблема сохраняется, повторите шаги 1-4, за исключением выбора другой надстройки в шаге 3.
- Если проблема сохраняется после того, как вы очистите все надстройки COM, повторите шаги 1-4, за исключением выбора Надстройки Excel в шаге 2, затем попробуйте каждую из надстроек Excel по одному на шаге 3.
Если Excel загружает файл, надстройка, которую вы выключили в последний раз, вызывает проблему. В этом случае мы рекомендуем вам посетить веб-сайт производителя надстройки, чтобы узнать, доступна ли обновленная версия надстройки. Если новая версия надстройки недоступна или вам не нужно использовать надстройку, вы можете оставить ее выключенной.
Если Excel не открывает файл после выключения всех надстроек, проблема имеет другую причину.
Если устранить проблему с помощью этих действий не удалось, перейдите к способу 6.
Способ 6. Отключите аппаратное ускорение
Чтобы решить эту проблему, отключите аппаратное ускорение до тех пор, пока производитель видеокарт не выпустит исправление. Регулярно проверяйте обновления для драйвера видеокарты.
Порядок отключения аппаратного ускорения:
Запустите любую программу Office 2013.
На вкладке Файл выберите пункт Параметры.
В диалоговом окне Параметры выберите категорию Дополнительно.
В списке доступных параметров, установите флажок в поле Выключить аппаратное ускорение обработки изображений.
Следующий снимок экрана показывает эту опцию в Excel.
Нажмите OK.
Если устранить проблему с помощью этих действий не удалось, перейдите к способу 7.
Способ 7. Проверка наличия или установка последних обновлений
Возможно, вам придется настроить Центр обновления Windows для автоматической загрузки и установки рекомендуемых обновлений. Установка важных, рекомендуемых и необязательных обновлений зачастую может решить проблемы за счет замены устаревших файлов и устранения уязвимостей.
Для получения дополнительных сведений об обновлениях Office щелкните следующий номер статьи, чтобы перейти к статье в базе знаний Майкрософт.
Дополнительная информация
Существует множество возможных причин, которые могут привести к этой ошибке.
Дополнительные сведения об этой проблеме и дополнительные действия по устранению неполадок см. в следующих статьях базы знаний Майкрософт.
Лабораторный инструмент имеет RS232 порт, через который выводятся данные каждые 10 минут. Я хотел бы использовать значения из выводимых данных в формах, формулах и моих скриптах VBA в документах Microsoft Excel.
Требования:
- Advanced Serial Data Logger (ASDL) Professional или пробная версия;
- Модуль "ASCII data parser and query" для логгера;
- Модуль "DDE server" для Advanced Serial Data Logger.
Подразумевается что:
Вы настроили параметры связи с устройством (скорость, количество бит данных, контроль передачи и т.п.) в логгере и можете принимать данные без каких либо ошибок.
Вы можете работать в Microsoft Excel, в частности создавать и использовать формы.
Решение:
Замечание: Этот пример базируется на предыдущем примере с именем "Данные из последовательного порта и Excel. Рисование графиков в реальном времени". Этот пример будет использовать настройки парсера и пример данных их этого примера. Поэтому вы можете прочитать этот обучающий пример перед продолжением чтения этого примера.
Парсер готов и мы протестировали его в предыдущем примере. Если парсер верно настроен, то в окне DDE сервера будут отображены наши переменные и их значения (рис.1).
Рис.1. Данные из COM порта, Excel и DDE. Окно DDE сервера.
Все переменные теперь готовы для использования в Microsoft Excel. Имя переменной отображается в колонке "Имя". Вы должны знать имя DDE сервера и имя топика для того, чтобы получать данные через DDE. Эта информация представлена на следующем рисунке (рис.2 поз.1). Пожалуйста, обратите внимание, что имя сервера может отличаться на вашем компьютере.
Рис.2. Данные из COM порта, Excel и DDE. Параметры сервера DDE.
Кликните на кнопке "OK" и закройте окно настройки модуля сервера DDE, а затем кликните кнопку "OK" в окне настройки конфигурации.
Поскольку мы хотим рисовать графики в реальном времени, то мы должны подготовить файл Excel перед следующим шагом. В этом примере мы создали диаграмму с тремя графиками. Каждый график базируется на данных их колонок A, B или C. Мы будет помещать значения переменных FLOW1, VOLW1 и TEMP1 в соответствующую колонку, а Excel будет автоматически обновлять нашу диаграмму. Мы будем использовать только последние 30 значений на нашей диаграмме. В этом примере мы поместили 3 ссылки на DDE переменные в ячейки D21-F21 вида: "=testcore|ddesrv!srviFLOW1" (без кавычек) (рис.3 и 4). Как вы можете видеть, имя сервера, имя топика и имя переменной указаны в этой ссылке на данные DDE.
Рис.3. Данные из COM порта, Excel и DDE. Ссылки на данные DDE.
После того, как вы создали ссылки на данные DDE в вашем документе, Microsoft Excel автоматически запустит логгер и получит данные. Если логгер уже запущен, то Microsoft Excel попробует считать данные из запущенной программы. Если логгер еще не получил и не обработал никаких данных, то Microsoft Excel отобразит информацию о неверной ссылке, но считает значения, как только данные будут получены и обработаны логгером.
Теперь мы готовы для создания кода VBA, который будет обрабатывать наши DDE данные. Этот код будет копировать значения DDE в колонки, передвигать старые значения и добавлять строки в историю значений (рис.4, 5).
Рис.4. Данные из COM порта, Excel и DDE. Исходный документ Excel.
Рисунок выше содержит следующие элементы:
- Данные DDE будут помещаться здесь, и будут служить источником данных для графиков;
- График;
- История данных.
Код VBA из файла Excel
Файл Excel, который мы создали, вы можете скачать здесь и использовать в вашей работе.
Хорошо. Процедура настройки завершена и пришло время попробовать получить данные в Excel.
Подсоедините ваше устройство или включите его, если это необходимо. Попробуйте принять пакет данных от устройства. Если парсер верно настроен, то в Excel будут отображены наши DDE переменные и их значения (рис.5).
Рис.5 Данные из COM порта, Excel и DDE. Результаты.
Рисунок выше содержит следующее:
- Последние 30 значений DDE данных;
- Последние значения переменных DDE сервера;
- История данных DDE.
Файл Excel со всеми значениями и графиками вы можете скачать здесь.
Этот метод получения данных сложен и может быть непонятен для неподготовленного пользователя, но позволяет вам обрабатывать и отображать данные как вам хочется. Позднее, вы можете сделать следующие улучшения:
Из терминала QUIK можно выводить данные во внешние программы. Это удобно при использовании сторонних аналитических программ, роботов для торговли, либо для ведения журнала сделок. В этой статье расскажем, как вывести данные через DDE-сервер в MS Excel на примере окна котировок.
Перед началом вывода необходимо создать файл на компьютере. Если этого не сделать, терминал создаст произвольный файл на Рабочем столе и выгрузит информацию в него. После создания файла в терминале QUIK нажатием правой кнопкой мыши в стакане вызывается меню, в котором нужно выбрать пункт «Вывод через DDE-сервер».
В окне настроек вывода указывается DDE-сервер (если нажать «По умолчанию», будет указан Еxcel). В поле «Рабочая книга» нужно выбрать тот файл, который был создан. В данном случае это «Котировки.xlsx». После проставления отметки «Запускать приложение DDE-сервера автоматически» активизируются кнопки «Начать вывод» и «Вывести сейчас». Последняя предназначена для разового вывода данных. Если не указывается номер листа, ряда и колонки, то все значения принимаются за единицу и вывод начинается с первого листа. Название листа задаётся по названию выводимой таблицы. Отметка «С заголовками столбцов» означает, что будут выгружены названия столбцов из таблицы. Если есть пустые значения в таблице, то вместо них в файле автоматически будет указано «0». Если нужны пустые поля, как в самой таблице, то можно поставить отметку «Выводить пустые ячейки вместо нулей».
После нажатия кнопки «Начать вывод» откроется созданный файл, в который будет поступать информация из таблицы с постоянным обновлением данных. В случае с выводом котировок можно окрасить столбцы файла Еxcel в разные цвета для удобства работы с данными.
Таким образом можно вывести таблицы «Текущие торги», «Сделки» «Заявки», «Клиентский портфель», «Обезличенные сделки» и др. Например, для ведения журнала сделок удобно выводить данные сразу в созданный для этих целей файл. Записывать сделки отдельно не придётся. Важно помнить, что, если в ячейки файла осуществляется вывод данных, редактировать их, применять к ним фильтры и записывать в них другие данные нельзя, это приведёт к остановке процедуры вывода.
QUIK 7: настройка торгового терминала для торговли на бирже QUIK 7: покупка облигаций федерального займа через терминал QUIK 7: фьючерс на Индекс ММВБ в торговом терминале QUIK 7: как настроить стакан котировок для быстрого ввода/снятия заявок? QUIK 7: как использовать ODBC для экспорта информации? Что такое индикатор ожидаемой волатильности и как его использовать Что важно знать начинающим трейдерам для эффективной работыМосква, ул. Летниковская, д. 2, стр. 4
Будьте в курсе новых публикаций!Подпишитесь на дайджест «Открытого журнала» и получайте подборку публикаций за неделю.
Размещённые в настоящем разделе сайта публикации носят исключительно ознакомительный характер, представленная в них информация не является гарантией и/или обещанием эффективности деятельности (доходности вложений) в будущем. Информация в статьях выражает лишь мнение автора (коллектива авторов) по тому или иному вопросу и не может рассматриваться как прямое руководство к действию или как официальная позиция/рекомендация АО «Открытие Брокер». АО «Открытие Брокер» не несёт ответственности за использование информации, содержащейся в публикациях, а также за возможные убытки от любых сделок с активами, совершённых на основании данных, содержащихся в публикациях. 18+
АО «Открытие Брокер» (бренд «Открытие Инвестиции»), лицензия профессионального участника рынка ценных бумаг на осуществление брокерской деятельности № 045-06097-100000, выдана ФКЦБ России 28.06.2002 (без ограничения срока действия).
ООО УК «ОТКРЫТИЕ». Лицензия № 21-000-1-00048 от 11 апреля 2001 г. на осуществление деятельности по управлению инвестиционными фондами, паевыми инвестиционными фондами и негосударственными пенсионными фондами, выданная ФКЦБ России, без ограничения срока действия. Лицензия профессионального участника рынка ценных бумаг №045-07524-001000 от 23 марта 2004 г. на осуществление деятельности по управлению ценными бумагами, выданная ФКЦБ России, без ограничения срока действия.
Читайте также: