Оффтоп (Move your mouse to the spoiler area to reveal the content) VBA в принципе вообще не предусмотрен для работы с портами. У него нет ничего для этого. Можно только через внешние OCX или DLL. Находил на форумах решение проблемы гарантированного определения списка портов, только это платная чужая библиотека и стоит она n тысяч денег. Причём это только одна из её возможностей, сама по себе она предусмотрена для другого. Вот только платить столько денег ради использования одной из сотни функций... проще создать список портов по порядку (без гарантии того, что все они реально присутствуют в системе), ведь так работает 99 из 100 программ для связи по COM порту. Сам очень хотел сделать чтобы порты сами определялись. Но потыркав все возможные способы... понял, что либо придётся писать свою библиотеку на другом языке и потом использовать в VBA, либо покупать уже готовую чужую.
Оффтоп (Move your mouse to the spoiler area to reveal the content) В смысле, список из 100 портов? Это серьёзно или шутка? Сделать не проблема :)
Почему нет, если конечно это не сильно за тормозит работу.Применить цикл.Хотя может в системе Windows, есть максимально возможное количество портов. --- Сообщения объединены, 22 июл 2016, Оригинальное время сообщения: 22 июл 2016 ---
Оффтоп (Move your mouse to the spoiler area to reveal the content) Это вообще никак не отразится на скорости запуска программы (100 это слишком мало для того чтобы заметить, вот 10 тысяч было бы заметно). В системе максимально возможное количество портов 256. Но существует какое-то странное ограничение, уже не помню с чем оно связано, реально можно использовать что-то около 148 первых (число лимита ненормальное).
Philin, может это чем нибудь поможет. Не VB конечно, но что есть. С третьим способом у меня так и не заладилось, в своих программах использую второй: WinXP, Win7 - полет нормальный.
Добавлю, в последнем комментарии к вышеприведенной статье, есть ссылка на программу с открытым исходником A C++ class to enumerate serial ports - реализовано 9 способов получения списка СОМ-портов. Спойлер (Наведите указатель мыши на Спойлер, чтобы раскрыть содержимое) Раскрыть Спойлер Свернуть Спойлер Features Simple C++ class interface. The code is fully Unicode compliant and include Unicode built options in the workspace file. Internally the code provides 9 different ways (yes you read that right: Nine) of enumerating serial ports: Using CreateFile, QueryDosDevice, GetDefaultCommConfig, two ways using the Setup API, EnumPorts, WMI, Com Database & enumerating the values under the registry key HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM. Can be compiled with or without MFC and or ATL support. If you do not want MFC support, then the code falls back to using the ATL CSimpleArray collection classes. The class also supports using standard STL collection classes. All of the configuration of the code is controlled by the following preprocessor values: CENUMERATESERIAL_USE_STL, _AFX, NO_CENUMERATESERIAL_USING_CREATEFILE, NO_CENUMERATESERIAL_USING_QUERYDOSDEVICE, NO_CENUMERATESERIAL_USING_GETDEFAULTCOMMCONFIG, NO_CENUMERATESERIAL_USING_SETUPAPI1, NO_CENUMERATESERIAL_USING_SETUPAPI2, NO_CENUMERATESERIAL_USING_ENUMPORTS, NO_CENUMERATESERIAL_USING_WMI, NO_CENUMERATESERIAL_USING_COMDB & NO_CENUMERATESERIAL_USING_REGISTRY. Возможно знающие С++ помогут копильнуть ее в *.dll
Его сто-ть 2k. --- Сообщения объединены, 23 июл 2016, Оригинальное время сообщения: 23 июл 2016 --- У Вас какой прибор?
igor kruchkovskiy, SET530RK3 от сокии. Как оплатить-забрать? Астрахань от меня не далеко, но не так чтобы очень))
Я max7 и solo23 по почте России посылал,не дорого и быстро. Используй Qiwi терминал, там с выше 500 без процентов, пополняй мой Qiwi счет он же мой номер:+79170822513, можешь комментарий написать, чтоб понятно было.Это очень просто.Кинь в личку почту. Я тебе, после, отправлю фотографию чека, с почты, в нем также будет номер для отслеживания.Google в помощь.
igor kruchkovskiy, Я тогда для соккия то же закажу... Пусть будет. А то с флешки лень скачивать. Да и для Топкона должен подойти, для робота. а то новые ПО соединяются с Тахеометрами по блуетуч, а у меня его нету. Только вопрос.. а что для Соккия то же без батареи можно использовать? Там же вроде нет питания, или есть?
Там есть на одном проводе питание. Но реально ли это питание, или один из контактов RS232 интерфейса я не понял (для того чтобы это определить - надо разбирать прибор и смотреть куда ведёт провод на материнскую плату :) Как-то без мазы такие эксперименты). В RS232 интерфейсе есть CTS и RTS контакты, там может быть питание разной полярности (т.е. это может быть совсем не питание, а как раз один из этих выводов интерфейса).
Зачем разбирать и узнавать откуда идет? Главное идет или нет, и то это можно тестером проверить. Но если это работает, то вообще круть. Мне очень такая штука понравилась. А именно габариты, форма, качество изготовления. И самое главное что не нужно доп. питание. Видел такие устройства на забугорных сайтах. Стоят как "крыло от самолета" .А внешний вид и концепция явно проигрывает тому что придумал Игорь.
Да, вот. --- Сообщения объединены, 24 июл 2016, Оригинальное время сообщения: 24 июл 2016 --- Да, без батареи работает.
Я платил вообще через Сбербанк Онлайн принимая ванну и попивая кофэ Там есть такая опция оплачивать счета Qiwi.
Тестером показывает что есть питание при включении прибора. Только вот что это такое не проверишь тестером. Вот пример интерфейс RS232 слева, стабилизатор справа. Питание стабилизатора от интерфейса через два диода(!!!) (либо от батарейки, без диодов). А диоды там как раз нужны для того чтобы при перемене полярности не спалить всю схему. Таким образом, если на порту питание напрямую (или через материнскую плату прибора) на порт, то проблем нет. А если это часть интерфейса, то там может изменяться полярность... Если вы туда хоть что-то подключите, то при смене полярности может сгореть либо материнская плата прибора (примерно на 100 тыр. ремонта) или подключенное устройство (2-3 тыр).
Я на этом устройстве отработал около года, пока ничего не спалил.И потом где-то столько же на Topcon ms, кстати не смотря на то, что у них разъемы разные, распиновка одинаковая.Исходя из моего опыта с блютуз адаптерами я сделал вывод, что практически каждый производитель делает контакт для питания внешнего устройства.