自动安装Comdlg32.ocx?

时间:2011-04-18 15:35:04

标签: vba ocx comdlg32

我想将包含comdlg32.ocx组件的表单的Excel电子表格分发到联网的共享。

Windows 7用户可能不会安装或注册此组件。有没有办法在Windows 7中自动检查然后可能安装此组件?

1 个答案:

答案 0 :(得分:0)

我曾经有一些代码按照

的方式做了一些事情
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,因为它们是以集合形式发布的,这样做会导致版本问题。但有时候,我也发现冒险并继续前进更容易。