0

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

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

4

1 回答 1

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,因为它们是成组发布的,这样做会导致版本控制问题。但有时,我也发现冒险继续前进更容易。

于 2011-04-18T15:58:57.920 回答