Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.59/27: Рейтинг темы: голосов - 27, средняя оценка - 4.59
1299 / 401 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
1

Как зарегистрировать ActiveX

18.05.2012, 20:57. Показов 5052. Ответов 11
Метки нет (Все метки)

Как зарегистрировать ActiveX с помощью VBA, а не вручную?

Задачи:
  1. нужно узнать: зарегистрирован ли ActiveX или нет;
  2. если не зарегистрирован, то зарегистрировать.
Проблема:
на одном компьютере Microsoft Date and Time Picker работает, а на другом - нет.

Примечание:
ручной способ не подходит вообще - нужно именно с помощью кода VBA.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2012, 20:57
Ответы с готовыми решениями:

Обсуждение статьи "Как зарегистрировать свой пользовательский ActiveX DLL из клиента"
Хочу обсудить статью из интернета: http://support.microsoft.com/kb/173407/ru Я так понимаю, что...

Установка компонентов - как зарегистрировать компоненты вкладки activeX в реестре
Подскажите пожалуйста, как зарегистрировать компоненты вкладки activeX в реестре? Это необходимо,...

Зарегистрировать ActiveX (весы электронные) в Access2010
Граждане форумчане! Помогите плз! Не могу подключить весы электронные CAS AP 15EX(кабель RS 232) ...

ActiveX Bridje или как превращать ActiveX Control в JavaBean.
Насколько я понял из документации, эта штука позволяет превращать JavaBean в ActiveX Control с...

11
Почетный модератор
21288 / 9022 / 1081
Регистрация: 11.04.2010
Сообщений: 11,015
18.05.2012, 21:24 2
Без проверки на регистрацию
Visual Basic
1
Shell "Regsvr32.exe Компонент"
2
1299 / 401 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
18.05.2012, 21:48  [ТС] 3
Памирыч,
Regsvr32.exe - это программа. А вот Справки по таким программам где смотреть. Ведь у этой программы есть аргументы (u, s). Где-то же написано про эти аргументы. Чтобы не случайно узнавать из интернета о них.
0
Почетный модератор
21288 / 9022 / 1081
Регистрация: 11.04.2010
Сообщений: 11,015
18.05.2012, 22:09 4
Busine2012, процесс регистрации компонента представляю очень смутно - видел только, что это все пишется в реестр.
Выполнение команды с ключом /u (если память не изменяет) - это отмена регистрации.
Вот немного инфо по этому случаю:
1
Миниатюры
Как зарегистрировать ActiveX  
Почетный модератор
21288 / 9022 / 1081
Регистрация: 11.04.2010
Сообщений: 11,015
18.05.2012, 22:37 5
Удалено, чтобы не вводить в заблуждения
1
1299 / 401 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
20.05.2012, 06:44  [ТС] 6
Памирыч,
я регистрирую:
Visual Basic
1
2
3
Sub Procedure1()
    Shell "Regsvr32.exe C:\WINDOWS\system32\mscomct2.ocx"
End Sub
и отменяю регистрацию:
Visual Basic
1
2
3
Sub Procedure1()
    Shell "Regsvr32.exe C:\WINDOWS\system32\mscomct2.ocx /u"
End Sub
но здесь, так и остаётся значение 2:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion \SharedDlls
у этого параметра:
C:\WINDOWS\system32\mscomct2.ocx
0
Почетный модератор
21288 / 9022 / 1081
Регистрация: 11.04.2010
Сообщений: 11,015
20.05.2012, 10:28 7
То, что я процитировал - это я вырыл где-то в тырнетах, и по глупости поверив, выложил это сюда. А зря. Ведь еще давным-давно, когда я маялся с VB 6, иногда я юзал нестандартные компоненты и как-то заинтересовался, куда в реестр пишется регистрация. Тогда я видел страшные длинные строки в реестре и забил на это дело.
Сейчас решил освежить знания, и выяснилось, что зарегенный компонент у меня даже не пишется в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion \SharedDlls
А создается вот такое добро:
HKEY_CLASSES_ROOT\CLSID\{A51095D9-8D17-11D6-9913-E1D1DF4BFD40}\InprocServer32
Значением по умолчанию которого и есть путь к компоненту

Вот такие пироги, Busine2012
0
1299 / 401 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
20.05.2012, 18:16  [ТС] 8
Я так понял, что Календари не поставляются с Excel, а поставляются с другими программами MS Office.
А имею ли я право скачивать из интернета Календари (файлы .ocx) и устанавливать их у себя на компьютере, если у меня нет программ MS Office, с которыми поставляются календари. Не будет ли это нарушением законодательства?



Пытаюсь прочитать реестр.
Я так понимаю, что сначала нужно открыть запись в реестре, которую нужно прочитать.
Visual Basic
1
2
3
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" _
    (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, _
    ByVal samDesired As Long, phkResult As Long) As Long
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Procedure3()
    
    'HKEY_CLASSES_ROOT = &H80000000
    Const lРаздел As Long = &H80000000
    'Этот раздел я создал.
    Const sПодраздел As String = "Новый раздел #1"
    'KEY_READ = &H20019
    Const lРежим As String = &H20019
    
    Dim lVariant As Long
    
    Debug.Print RegOpenKeyEx(lРаздел, sПодраздел, 0, lРежим, lVariant)
    
End Sub
Этот код должен вернуть ноль, если всё нормально.
Что в этом коде не так, т.к. ноль у меня не возвращается?


Примечание: чтобы увидеть результат кода: View - Immediate Window.
0
Памирыч
20.05.2012, 19:59
  #9

Не по теме:

Цитата Сообщение от Busine2012 Посмотреть сообщение
Что в этом коде не так
Увы, я в диалектах шестого и VBA - ноль :(

0
Модератор
Эксперт Python
28772 / 15602 / 3097
Регистрация: 12.02.2012
Сообщений: 25,602
Записей в блоге: 4
20.05.2012, 21:20 10
Загляните в мои изыскания на эту тему
1
Вложения
Тип файла: zip com-2.zip (172.1 Кб, 66 просмотров)
1299 / 401 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
06.06.2012, 10:50  [ТС] 11
Случайно узнал, что в этой книге есть про работу с реестром:
Уокенбах. Профессиональное программирование в Excel 2003. Глава 11. Примеры и методы программирования на VBA. Вызов функций Windows API.
0
Модератор
Эксперт Python
28772 / 15602 / 3097
Регистрация: 12.02.2012
Сообщений: 25,602
Записей в блоге: 4
06.06.2012, 20:33 12
Узнать, зарегистрирован ли компонент - можно. Но регистрировать его "ручками" (без regsvr32) - это экстрим.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2012, 20:33

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как зарегистрировать VS
Здравствуйте я скачал microsoft visual c++ 2008 express edition и установил, но она требует...

Как зарегистрировать пк в домене?
Здравствуйте друзья!. Как средствами делфи возможно зарегистрировать компьютер пользователя в...

как зарегистрировать библиотеку
Есть БД с которой в терминале(через Citrix) и иногда напрямую, т.е. через ярлычок, работают куча...

Как зарегистрировать символи
Добро Пожаловать!. Помогите пожалуйста проблема в том што я хочу сделать Регистрацию символов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.