问题分享:ActiveX component can't create object: "MSComDlg.CommonDialog"

时间:2022-01-05 01:58:35

问题描述: 修改一个前辈的代码,在我自己电脑上面运行的很好,但是放到要用户电脑(win7 x64)上面却跑不了,报个如题的错误。

查了下是COMDLG32.OCX的问题,用到控件的地方是:

Dim oDialog
f_File_CommonDialog=False
Set oDialog = CreateObject("MSComDlg.CommonDialog")

解决方法:

1. 注册控件: 找到这个控件COMDLG32.OCX, 用户电脑上面没有( 这里可下:链接), 放到..Windows\system32 下面然后用cmd 注册:

regsvr32 comdlg32.ocx

有可能你会注册不了,请选择管理员权限运行即可。尝试重新运行下,如果你跟我一样,还是报错” The control could not be created because it is not properly licensed",这时就要去修改注册表了

2. 修改注册表:

打开注册表: 找到:HKLM\Software\CLASSES\Licenses\4D553650-6ABE-11cf-8ADB-00AA00C00905, 设置默认值(Default)gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj

( 这是谷歌出到的结果,比较直接,你也可以试试给你重装个VB,然后再卸掉,安装过程中会注册到这个控件)(http://*.com/questions/4386124/how-can-i-use-the-common-save-as-dialog-from-vbscript )

 我的问题到这里就算解决了。

 

最近感觉心累,赶紧让我回家过年吧。。。