реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> работа с сом портами из (в) exel vba win 7 и выше
Onkel
сообщение Jan 3 2017, 21:33
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 708
Регистрация: 8-05-11
Из: Чг
Пользователь №: 64 861



Хочу посылать и принимать данные по virtual com port с экзел. Нашел хороший пример пример сом 1-4 но пример работает только на порты 1-4, в eayselectronics пример ссылается ну уже убитые дрова, может есть у кого проверенные код без activex и осх?
У меня программы приема посылки на питоне и подобных есть, но хочется ПРЯМО в exel, без посредников и копи пасты.
Go to the top of the page
 
+Quote Post
Onkel
сообщение Jan 3 2017, 22:50
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 708
Регистрация: 8-05-11
Из: Чг
Пользователь №: 64 861



OOOOOOps сам нашел - exel с портами - с 5 и 6 работает.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Jan 4 2017, 10:29
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(Onkel @ Jan 4 2017, 00:33) *
. . .
У меня программы приема посылки на питоне и подобных есть, но хочется ПРЯМО в exel, без посредников и копи пасты.

Можно наваять свой интерфейс в виде подключаемого к excel DLL. На MS VisualStudio.
DLL вызывается из макроса VBA (Excel, Access, . . . .)
Все что Вы делаете с еейными (DLL) функциями - определяется тем, что Вы в них пропишите.
Я думаю, в DLL должно быть:
- запуск "сервисного" приложения (в понимании ОС "сервис")
- интерфейсы сервиса
- останов-выгрузка сервиса.

Go to the top of the page
 
+Quote Post
alexunder
сообщение Jan 4 2017, 11:39
Сообщение #4


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(Onkel @ Jan 3 2017, 22:33) *
Хочу посылать и принимать данные по virtual com port с экзел. Нашел хороший пример пример сом 1-4 но пример работает только на порты 1-4, в eayselectronics пример ссылается ну уже убитые дрова, может есть у кого проверенные код без activex и осх?
У меня программы приема посылки на питоне и подобных есть, но хочется ПРЯМО в exel, без посредников и копи пасты.

Есть еще вариант в случае если Вы пользуетесь Питоном, который написан на C#, а именно IronPython.
Можно воспользоваться средствами Interop и заполнять экселевскую таблицу прямо из Питона (вообще, любые экселевские объекты создавать). Я таким образом сделал небольшой класс, чтобы наши любители экселя сохраняли экспериментальные данные непосредственно в их любимый формат, минуся ASCII-таблицы.

Код
from System.Runtime.InteropServices import Marshal;
from System import Activator, Type;

apptype = Type.GetTypeFromProgID("Excel.Application");
xlobj = Activator.CreateInstance(apptype);
xlobj.Workbooks.Add(); # создаем документ
wb = xlobj.ActiveWorkbook; # реф на активный документ
wb.Sheets.Add(); # добавляем таблицу
...
wb.SaveAs(filename); # сохранить документ в файл


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Onkel
сообщение Jan 4 2017, 11:55
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 708
Регистрация: 8-05-11
Из: Чг
Пользователь №: 64 861



да по ссылке во втором сообщении все работает, только осталось разобраться и переделать функцию посылки/ приема со строчных переменных на массив char. При этом нужен только сам exel (у меня 2010) и никаких vs.

2 Alexunder
Да, я могу создавать экзел файлы питоноским скриптом, но нужно немного не то- а именно нужно чтобы данные качались в экзел по нажатии кнопки и сразу же отображались на графике. Ну. как я выше отметил, принципиально вроде решил проблему, сейчас техникой занимаюсь.
Go to the top of the page
 
+Quote Post
Herz
сообщение Jan 4 2017, 12:02
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(Onkel @ Jan 4 2017, 00:50) *
OOOOOOps сам нашел - exel с портами - с 5 и 6 работает.


Server not found crying.gif
Go to the top of the page
 
+Quote Post
Александр77
сообщение Jan 4 2017, 12:12
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Цитата(Herz @ Jan 4 2017, 15:02) *
Server not found crying.gif

Просто убрал http в самом начале (пропущено двоеточие)
ссылка
Go to the top of the page
 
+Quote Post
Onkel
сообщение Jan 4 2017, 12:35
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 708
Регистрация: 8-05-11
Из: Чг
Пользователь №: 64 861



2 Herz - поправил.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th June 2025 - 11:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01427 секунд с 7
ELECTRONIX ©2004-2016