1

Тема: Set MSComm11 = New MSComm

Ранее на работе и дома эти две строки проходили без вопросов
Dim MSComm11 As MSComm
Set MSComm11 = New MSComm
сейчас на работе на строке Set MSComm11 = New MSComm получаю ошибку 429 ACtiveX component can't create object
дома если играться с Пуск Выполнить, вводить строку regsvr32 /u mscomm32.ocx, далее ОК то можно тоже получить эту же ошибку на этой же строке.
Но это излечимо, regsvr32 mscomm32.ocx - Пуск Выполнить, вводить строку regsvr32 mscomm32.ocx, далее ОК. Но такое лечение на работе не катит, как лечить????

2

Re: Set MSComm11 = New MSComm

похоже конец света, Ворд переставил не помогло, Винду переустановил, не помогло, что ещё предпринять кроме смены компьютера???

3

Re: Set MSComm11 = New MSComm

Я мало в это разбираюсь
По-моему эта библиотека либо отсутствует в компьютере, либо она просто не поддерживается версией windows (там же пишет, чт она 32-битная: mscomm32.ocx)

У меня нормально подключается библиотека mscomctl.ocx

4

Re: Set MSComm11 = New MSComm

поясню, ранее эти строки
Dim MSComm11 As MSComm
Set MSComm11 = New MSComm
у меня работали хорошо и дома и на работе, сейчас на работе не работает, система везде ХР, Ворд переустнавливал, Винду тоже не помогло, в данный момент
каким кодом можно выяснить сам факт работоспособности механизма регистрации ActiveX на компьютере, где не удается зарегистрировать определённый ActiveX
Заранее спасибо

5

Re: Set MSComm11 = New MSComm

файл на обоих компах в одной и той же папке Виндус\32, и файл одинаковый

6

Re: Set MSComm11 = New MSComm

чтобы проверить ActiveX жив или мёртв, то есть чтобы можно выяснить сам факт работоспособности механизма регистрации ActiveX на компьютере, где не удается зарегистрировать определённый ActiveX пробую

Declare Function RegMSCOMM32OCX Lib "MSCOMM32.OCX" Alias OCXRegisterServer() As Long
 
Sub тест()
Const ERROR_SUCCESS = 0&
Dim retCode As Long
On Error Resume Next  ' включаем программную обработку ошибок
ChDrive "C:"        ' Устанавливаем нужный
ChDir "C:\WINDOWS\system32"    ' каталог текущим
regCode = RegMSCOMM32.OCX()  ' регистрация MSCOMM32.OCX
' анализ возможных ошибок
If Err <> 0 Then
  MsgBox "Файл MSCOMM32.OCX не найден"
Else
  If regCode <> ERROR_SUCCES Then
    MsgBox "Операция регистрации не выполнена"
End If
End If
End Sub

Но пока выделяет на первой строке часть строки - "OCXRegisterServer"
мне на ум приходит, только то, что в скобках () должны быть всевозможные ByVal, так??
Но я не знаю какие, подскажите пжл как правильно

7

Re: Set MSComm11 = New MSComm

ответ таков, ветка реестра
HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905
его значение "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"
жаль не помню где нагуглил этот ответ, (где-то на забугорном сайте) чтобы поблагодарить, он оказался правильным
Магические буквы: "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"

Проблема висела в воздухе и нервировала меня 2 месяца