我想将包含comdlg32.ocx组件的表单的Excel电子表格分发到联网的共享。
Windows 7用户可能不会安装或注册此组件。有没有办法在Windows 7中自动检查然后可能安装此组件?
答案 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,因为它们是以集合形式发布的,这样做会导致版本问题。但有时候,我也发现冒险并继续前进更容易。