Собственно давненько написал утилитку на с++, читаем СОМ-порт, сохраняем в файлик, из XL эти данные втягиваются..
Возник вопрос, а можно ли из vba обратиться к СОМ-порту?
Обратиться из VBA к COM-порту компа.
Модератор: Naeel Maqsudov
Самоучка 

- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
Используйте Microsoft Communication Control (Mscomm32.OCX)Возник вопрос, а можно ли из vba обратиться к СОМ-порту?
Он ставится например с Visual Studio. Отдельно скачать можно например на
http://www.nodevice.ru/dll/11822.html Правда в неудобное время

Если будете ставить отдельно - нужна лицензия в реестре
(см последний пост в http://forum.cta.ru/forum_posts.asp?TID=493)
Андрей Энтелис,
aentelis.livejournal.com
aentelis.livejournal.com
да, была бы студия.. есть слабенький ноут с 150Мб свободного места на харде. доступ к остальным машинкам ограничен админами конторы..
ладно, это лирика, буду пользовать то, что есть.
Спасибо за поддержку.
ладно, это лирика, буду пользовать то, что есть.
Спасибо за поддержку.

Самоучка 

- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
Напишу сюда.
Есть прибор, который гонит в порт данные пакетами по 132 байт.
Настроил mscomm, получаю данные...
Надо в процессе получения парсить их. Проверить, есть ли сигнатура (первые 4 байта), далее записать (в массив?) 64 слова (старший байт и младший) и проверить последний байт CRC
Собственно не очень понял, когда у мскомм очищается буфер (надо ли его сбрасывать вручную)
Как из полученного буфера Mscomm1.Input получить массив байтов (или слов)
Влияет ли на что-нибудь InBufferSize (что ни задавал - доходит до 4к и останавливается)
Не бейте сильно - в ВБ не очень..
Есть прибор, который гонит в порт данные пакетами по 132 байт.
Настроил mscomm, получаю данные...
Надо в процессе получения парсить их. Проверить, есть ли сигнатура (первые 4 байта), далее записать (в массив?) 64 слова (старший байт и младший) и проверить последний байт CRC
Собственно не очень понял, когда у мскомм очищается буфер (надо ли его сбрасывать вручную)
Как из полученного буфера Mscomm1.Input получить массив байтов (или слов)
Влияет ли на что-нибудь InBufferSize (что ни задавал - доходит до 4к и останавливается)
Не бейте сильно - в ВБ не очень..

Судя по количеству просмотров, ком-порты все еще актуальны=)