нужна прога которая экспортирует данные из Сом порта в Excel

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
svat
Сообщения: 3
Зарегистрирован: 13 фев 2010, 10:59

Дорогие Россияне! Help me please hwo can do it.
В общем смысл такой: Есть Сом порт (у меня Com1) к которому подключен dailup модем (Acorp Sprinter@56k Ext), а в модем воткнута телефонная линия которая могет давать возможность определять входящий номер по "принципу" Caller ID, но фишка вся в том, что наша АТС "плюет" данные о входящем номере между 1-м и 2-м рингами ( Ring ) ниже приведу данные из гипертерминала: (входящий звонок совершался с сотового 89ХХ3570607 (иксы поставил специально))

AT ' Запускаем порт или другими словами активизируем его

OK ' порт ответил - готов к работе, далее я звоню с мобильника на городскую линию которая воткнута в модем.

RING ' первый ринг

DATE = 0416
TIME = 2207
NMBR = 89ХХ3570607 ' дата, время, и номер определились

RING ' второй ринг

RING ' третий ринг и т.д. номер больше не определиться

RING

RING

данные из гипертерминала я привел лишь только для того чтобы дать вам понять в какой момент идет определение номера, в дальнейшем гипертерминал использоваться не будет.

ИТОГО:

нужна не большая прога которая посылает в порт АТ команду ( АТ ) тем самым активизирует порт и далее будет постоянно мониторить Сом порт и данные из него копить в переменной ( а ) а при появлении в переменной цифр, спустя 1 секунду останавливать мониторинг и выдавать содержимое в окошке проги ( чтобы можно было визуально наблюдать что было в переменной ( а ) по сути дела в окошке должно появиться то что я привел выше в окне гипертерминала, а далее самое интересное - эти данные из переменной нужно еще экспортировать и в файл Excel-я ( com-port.xls ) в лист1 в ячейку Сells(1, 1). Далее данные в переменной ( а ) обнуляются и программа переходит в режим мониторинга снова.

нечто подобное но в Excel-e я написал так:

Private Sub CommandButton1_Click()
If Com.PortOpen = False Then
Com.CommPort = 1 'номер COM-порта, на котором висит модем
Com.PortOpen = True 'Открываем порт
End If
Com.Output = "AT"
Me.TextBox1 = ""
For i = 1 To 600000
a = a & Com.Input
Next
Cells(1, 1) = a
End Sub

но это так, чисто для представления и написано для макроса, а мне нужно отдельную не зависимую програмку.
Ответить