На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Организуем VBA-FAQ! Если у Вас есть предложения, выскажитесь здесь: Пишем FAQ, интересно Ваше мнение
Популярные разделы FAQ:    user posted image Общие вопросы    user posted image Особенности VBA-кода    user posted image Оптимизация VBA-кода    user posted image Полезные ссылки

1. Старайтесь при создании темы указывать в заголовке или теле сообщения название офисного приложения и (желательно при работе с Office 95/97/2000) его версию. Это значительно сократит количество промежуточных вопросов.
2. Формулируйте вопросы как можно конкретнее, вспоминая (хотя бы иногда) о правилах ВЕЛИКОГО И МОГУЧЕГО РУССКОГО ЯЗЫКА, и не забывая, что краткость - сестра таланта.
3. Не забывайте использовать теги [сode=vba] ...текст программы... [/code] для выделения текста программы подсветкой!
4. Темы с просьбой выполнить какую-либо работу полностью за автора здесь не обсуждаются и переносятся в раздел ПОМОЩЬ СТУДЕНТАМ.
Модераторы: Old Bat, MIF
  
> Не видит порт , Звонилка DialUp модем Excel 2016
    Всем Здравия!
    Нашел код в инете, но не понятно откуда берётся MSCOMM1.
    Именно на нем возникает ошибка из-за его отсутствия.
    Есть только MSComLib в котором иные свойства.

    Строка DefInt A-Z инвалид.

    Работаю на excel 2016.
    Win7 64
    Библиотека MSCOMM32.OCX подключена и зарегина "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun".
    Подозреваю, что возможно в Public еще что-то надо рисануть, но вот что????? :oops:

    ExpandedWrap disabled
      Option Explicit
          DefInt A-Z
          Dim CancelFlag As Boolean
          Private Sub CancelButton_Click()
          CancelFlag = True
          CancelButton.Enabled = False
          End Sub
          Private Sub DialButton_Click()
          Dim Number$
          On Error GoTo Err_click
          Number$ = Selection.Value
          If Number$ = "" And Not IsNumeric(Number$) Then Exit Sub
          DialButton.Enabled = False
          CancelButton.Enabled = True
          Status = "Dialing - " + Number$
          Dial Number$
          DialButton.Enabled = True
          CancelButton.Enabled = False
      Err_click:
          End Sub
          Private Sub Dial(Number$)
          Dim DialString$, FromModem$, dummy
          ' AT is the Hayes compatible ATTENTION command and is required to send commands to the modem.
          ' DT means "Dial Tone." The Dial command uses touch tones, as opposed to pulse (DP = Dial Pulse).
          ' Numbers$ is the phone number being dialed.
          ' A semicolon tells the modem to return to command mode after dialing (important).
          ' A carriage return, vbCr, is required when sending commands to the modem.
          DialString$ = "ATDP" + Number$ + ";" + vbCr
          ' Communications port settings.
          ' Assuming that a mouse is attached to COM1, CommPort is set to 2
          MSComm1.CommPort = 4
          MSComm1.Settings = "9600,N,8,1"
          ' Open the communications port.
          On Error Resume Next
          MSComm1.PortOpen = True
          If Err Then
          MsgBox "COM2: not available. Change the CommPort property to another port."
          Exit Sub
          End If
          ' Flush the input buffer.
          MSComm1.InBufferCount = 0
          ' Dial the number.
          MSComm1.Output = DialString$
          ' Wait for "OK" to come back from the modem.
          Do
          dummy = DoEvents()
          DoEvents
          ' If there is data in the buffer, then read it.
          If MSComm1.InBufferCount Then
          FromModem$ = FromModem$ + MSComm1.Input
          ' Check for "OK".
          If InStr(FromModem$, "OK") Then
          ' Notify the user to pick up the phone.
          Beep
          MsgBox "Please pick up the phone and either press Enter or click OK"
          Exit Do
          ' Status = "Dialing - " + FromModem$ + " - " + Number$
          ElseIf InStr(FromModem$, "BUSY") Then
          Disconnect
          Call Dial(Number$)
          Exit Sub
          ElseIf InStr(FromModem$, "Error") Then
          MsgBox "Error " + FromModem$
          Exit Do
          End If
          End If
          ' Did the user choose Cancel?
          If CancelFlag Then
          CancelFlag = False
          Exit Do
          End If
          Loop
          Disconnect
          End Sub
          Private Sub DialButton_GotFocus()
          Cells(Selection.Row, Selection.Column).Select
          End Sub
       
          Private Sub Status_Click()
          On Error Resume Next
          DialButton.Enabled = True
          'QuitButton.Enabled = False
          CancelButton.Enabled = True
          ' Disconnect the modem.
          MSComm1.Output = "ATH" + vbCr
          ' Close the port.
          MSComm1.PortOpen = False
          End Sub
          Public Sub Disconnect()
          ' Disconnect the modem.
          MSComm1.Output = "ATH" + vbCr
          ' Close the port.
          MSComm1.PortOpen = False
          End Sub
    Сообщение отредактировано: Marchello -
      Нашел проблему из-за чего все это.
      Короче библиотика в Reference есть и галкой помечена, а в additional controls её нет почему-то.
      Ну и собственно вопрос стоит так:

      Из-за чего может отсутствовать доступ к выбору контрола в additional controls , хотя в Reference все есть?
      У когонить на 64 бит работала mscomm32.ocx?

      Есть ещё аналог вроде NETComm.ocx.
      hardandsoftware
      Сообщение отредактировано: Marchello -
        Поставил 32бит офис вместо 64, контрол стал виден на панели, но при перетаскивании на форму не ставится.
        Пишет "Требуемый класс отсутствует в classfactory"
        На другом компе все ставится.
        Может кто в курсе в причинах сего?
          Звонилка DialUp в 2018 году? Я проснулся в семь утра и не заметил как мир превратился в утопию?
          А по делу, это старые контролы, которые не поддерживаются более и не были сделаны их 64-битные версии, поэтому не поддерживаются в 64-битной версии офиса.
          Или использовать 32-битную версию офиса или искать альтернативные варианты
            Цитата
            Поставил 32бит офис вместо 64

            Лучше поставь 32 битную винду!
            Столько проблем в 64!
              Цитата diel @
              Звонилка DialUp в 2018 году? Я проснулся в семь утра и не заметил как мир превратился в утопию?

              А почему бы и не пуркуа па? Перловый скрипт на пару сотен строк и войсмопед заменяют астериксы и прочие сипы, войну с экстеншенами и проч.
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0236 ]   [ 16 queries used ]   [ Generated: 20.04.24, 03:26 GMT ]