Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2009, 15:41   #1
proavg
 
Регистрация: 21.07.2009
Сообщений: 8
По умолчанию Автоматизировать операции "вкл-выкл"

Есть задумка, которую не могу воплатить своими силами, подскажите решение.
Задача стоит следующая, имеется файл данных в строке 7 ячеек, в конце строки добавил кнопки управления ВКЛ и ВЫКЛ.
Надо при нажатии кнопки, например ВКЛ, взять данные из ячеек, подставить в шаблон команды и запустить все это через telnet.

Возможно ли такое соорудить средствами excel?
proavg вне форума Ответить с цитированием
Старый 06.11.2009, 16:00   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Возможно ли такое соорудить средствами excel?
Да, конечно.

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

Не обязательно просто запускать встроенный в Windows Telnet-клиент (с ним, как с консольным приложением, сложно работать программно)

Я обычно всю задачу выполняю средствами VBA - Excel устанавливает соединение с нужным устройством через Telnet, обменивается с ним информацией, и на лист Excel выводится полученная (и уже обработанная) информация от устройства.

Как работать с TELNET из VBA - написано в статье Работа из VBA Excel с оборудованием через Telnet

Код выглядит примерно так:
Код:
Function GetRPN_forDECTnumber(ByRef Номер As PhoneInfo, ByVal checktime As Integer)
    If Not Connect_Alcatel Then Exit Function

    Dim sh As Worksheet, ra As Range: Set sh = PrepareSheet_for_GetRPN_forDECTnumber(Номер)
    If sh Is Nothing Then Disconnect_Alcatel: Exit Function
    t = Timer: Flag_StopGettingInfoFromALCATEL = False

    On Error Resume Next
    Set ExecAnswers = New Collection: EQ.Commands.ClearItems
    EQ.Commands.AddCommand "termstat d " & Номер.PhoneNumber, "Your choice [1-5, q for quit]:", "Error", 5000
    If Not EQ.Commands.ExecuteAll(Conn, ExecAnswers) = EQ.Commands.Items.count Then _
       MsgBox "Error GetRPN_forDECTnumber": Disconnect_Alcatel: Exit Function

    While Timer < t + checktime And Not Flag_StopGettingInfoFromALCATEL
        Set ExecAnswers = New Collection: EQ.Commands.ClearItems
        EQ.Commands.AddCommand "1", "PRESS ANY KEY TO CONTINUE", "Error", 5000
        EQ.Commands.AddCommand "", "Your choice [1-5, q for quit]:", "Error", 5000
        If EQ.Commands.ExecuteAll(Conn, ExecAnswers) = EQ.Commands.Items.count Then beepH0
        res = Get_TERMSTAT_info(ExecAnswers(1)(2), sh)
    Wend

    Set ExecAnswers = New Collection: EQ.Commands.ClearItems
    EQ.Commands.AddCommand "q", EQ.Prompt, "Error", 5000
    If EQ.Commands.ExecuteAll(Conn, ExecAnswers) = EQ.Commands.Items.count Then beepH0

    Set ra = sh.Range("b65000").End(xlUp).Offset(1).Resize(, 4)
    ra.Interior.Color = vbCyan:: SetRangeBorders ra, xlContinuous, xlMedium
    ra.Value = Array("Запрос завершён", "", Format(Now, "HH:MM:SS"), "")
    ra.Font.Bold = True

    Disconnect_Alcatel
End Function

Последний раз редактировалось EducatedFool; 24.08.2011 в 14:58.
EducatedFool вне форума Ответить с цитированием
Старый 06.11.2009, 16:54   #3
proavg
 
Регистрация: 21.07.2009
Сообщений: 8
По умолчанию

Описание в файле
Вложения
Тип файла: rar Book1.rar (7.8 Кб, 10 просмотров)
proavg вне форума Ответить с цитированием
Старый 06.11.2009, 17:15   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Описание в файле
Реализовать могу. Но не бесплатно. (работы много)

От вас - один из таких управляемых коммутаторов, подключенный к интернету (с белым адресом), чтобы я мог тестировать код на используемом Вами железе.
(разное оборудование имеет разные задержки, и особенности общения через Telnet)
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
C# Фиксация вкл\выкл ПК Elmors Фриланс 1 31.05.2009 15:56
C# Определить вкл\выкл компьютера. Elmors C# (си шарп) 1 31.05.2009 00:44
вкл\выкл Сетевое подключения ChukCha Работа с сетью в Delphi 0 24.10.2008 19:53
Класс "векторные операции" для трехмерных векторов. Студентка@ Помощь студентам 1 30.01.2008 19:21