VBA提取CAD字符,在2010cad可用,为什么在2014版的不能用了呢?属性值是加载 DLL 错误,是怎么回事?

用vba调用cad时,2010版cad,可以看到属性值的,但调用的是2014版时,属性值为空,属性值内显示加载 DLL 错误。
调用语句是:
Set Acadapp = GetObject(, "AutoCAD.Application")

最近写CAD的VBA代码,我也遇到这问题了 。64位的AutoCAD2010到2014 的VBA都有各种问题:
(1)从CAD2010到2014(64位),使用部分对象的方法或属性还得区分windows系统的位数,特坑!!!还得专门为这几个版本写不同的代码。
(2)CAD2010到2012版本(64位)的VBA代码运行奇慢。
(3)CAD2014(64位)运行VBA代码直接报加载DLL错误(CAD2014是2013的小升级版,所以CAD2013应该也有同样的问题,我没试过,只是推测)。
个人觉得上面的问题是对应版本的VBA的问题(从CAD2010开始VBA模块不直接集成在CAD中,估计上面的毛病是跟着出现的,后面从CAD2015开始这样的毛病已经更正了)。跟是是在EXCEL里还是在CAD里运行VBA没有关系。

所以如果必须安装cad2010到2014,还要运行VBA代码,那我就建议安装对应的32位版本(CAD2010的32位的没有问题)(WIN10下这几个版本的32位版本我试过了,没法安装...)
AutoCAD2015及以上版本(无论32位还是64位)运行VBA都没有上面说的问题,所以还是推荐装高点版本的方式解决问题。
也试过CAD2004,CAD2007,CAD2009(都是32位,64位的没那么多时间试)除了不支持后来版本新的对象属性和方法外,运行vba也都算是正常。
以上只是个人见解,可能描述不是完全表述事实。如果有大神知道怎么解决上面说的问题,还请不吝指教!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-04


cad2014VBA提取字符

追问

还是不行,我是excel调用cad ,在窗口,看到的下面这样的,有办法吗?我的系统及cad 都是64位的

追答

我这个是直接在CAD的VBA里提取字符的,excel调用CAD的没试过,要是方便的话你可以发给我调试下

本回答被网友采纳
第2个回答  2019-03-04

1条回答

zhangsonglin_c
LV.17 2013-08-08

重新在2010中编译一下。两者跨越了版本,库程序也可能不同,对照看看两者的开发手册,有些什么差别,修改一下源程序。一般需要修改的地方不会太多。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网