VBA在使用commondialog控件 无法装在这些对象,因为它们不适用于这台计算机
AutoCAD、或者Excel、Word等Office软件都可能出现这个问题。

这个commondialog控件是32位的,64位cad不能使用32位的控件和dll,需要重新注册控件。
可参考
http://bbs.mjtd.com/thread-171209-1-1.html

也可以参考这个
https://jingyan.baidu.com/article/495ba84112984638b30edeea.html
从其他电脑上拷贝,并注册MSCOMCTL.OCX控件

regsvr32 C:\Windows\SysWOW64\MSCOMCTL.OCX

但是这是这些控件要注册的,而且还可能影响其他软件,建议还是不要用CommonDialog,还是用VBA自带的控件重写、使用VBA自带的控件,或者AutoCAD可以使用ThisDrawing.SendCommand "(setvar " & """users1""" & "(getfiled " & """请选择文件""" & """""" & """xls""" & "2)) ",这样可以调用AutocadCAD自带的对话框,然后再通过取变量出来。

最后修改:2025 年 09 月 03 日
如果觉得我的文章对你有用,可以点一下赞赏