Автоустановка Comdlg32.ocx? - PullRequest
0 голосов
/ 18 апреля 2011

Я хочу распространить электронную таблицу Excel с формой, включающей компонент comdlg32.ocx, в сетевой ресурс.

Вероятно, пользователям Windows 7 этот компонент не будет установлен или зарегистрирован.Есть ли способ автоматически проверить и затем установить этот компонент в Windows 7?

1 Ответ

0 голосов
/ 18 апреля 2011

У меня когда-то был какой-то код, который делал что-то вроде

on error goto errhandler
try to instantiate an object of type x
we're not in the error handler - the dll must have already been registered! 
continue processing...
exit sub (or whatever)

errhandler:
shell "regsvr.exe /s " & path_to_dll
retry instantiation

Очевидно, что вы захотите избежать попадания в бесконечный цикл, если вызов regsvr завершится неудачно. Плюс я бы не рекомендовал регистрировать dll на сетевом ресурсе; он может быть недоступен при следующем запуске макроса. Попробуйте сначала скопировать его на локальный диск.

Еще один момент, на который следует обратить внимание: вам не следует копировать одну системную DLL, так как они выпускаются в наборах и могут вызвать проблемы с версиями. Однако иногда мне было проще просто рисковать и идти дальше.

...