jackyyu 发表于 2012-5-31 14:22:36

office不能调用cad2013

昨天重装了系统,同时安装了2013版的cad,但是发现word不能调用2013版,后来我又卸载了2013,安装2012,word可以正确调用,再次安装2013,发现word还是调用2013的cad
出现的问题是:先安装2012后安装2013,word只能调用2012,如果只安装2013,word则显示cad对象为unknown,请问,如何才能是word正确调用2013的cad

jackyyu 发表于 2012-5-31 17:27:01

在网上找到这段文字
问题:使用早期AutoCAD版本的时候把DWG图形通过OLE方式嵌入到了WORD文档中。当安装AutoCA新版本后,发现无法双击编辑这个嵌入对象了。

解答:不同版本的AutoCAD使用不同的注册表项来连接OLE对象的服务器程序。当对应版本的软件没有安装时,容器程序便无法找到OLE服务程序。

由于AutoCAD具有向下兼容性,因此可以通过注册表项的自动转向方式让旧的OLE对象去使用新的服务器程序。

AutoCAD2013的OLECLSID: {6A221957-2D85-42A7-8E19-BE33950D1DEB}
AutoCAD2010/2011/2012的OLECLSID:{D70E31AD-2614-49F2-B0FC-ACA781D81F3E}
AutoCAD2007/2008/2009的OLECLSID:{7AABBB95-79BE-4C0F-8024-EB6AF271231C}
AutoCAD2004/2005/2006的OLECLSID:{8E75D913-3D21-11d2-85C4-080009A0C626}
AutoCAD2000/2000i/2002的OLECLSID:{8E75D913-3D21-11d2-85C4-080009A0C626}(?)
AutoCADR14的OLECLSID:{5E4405B0-5374-11CE-8E71-0020AF04B1D7}
注:查看HKEY_CLASSES_ROOT\\CLSID就能找到对应的DWG文件格式的CLSID。即:

·   AutoCADR14格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.14\CLSID;

·   AutoCAD2000/2000i/20002格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.15\CLSID;

·   AutoCAD2004/2005/2006格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.16\CLSID;

·   AutoCAD2007/2008/2009格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.17\CLSID,

·   AutoCAD2010/2011/2012格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.18\CLSID,

·   AutoCAD 2013格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.19\CLSID,依此类推。

当知道了现在本机安装的AutoCAD程序版本和要读的文件版本后,可以通过下面的注册表添加语句添加一个自动转换项:

REGEDIT4

@="{7AABBB95-79BE-4C0F-8024-EB6AF271231C}"

上面的例子是使AutoCADR14生成的OLE对象在AutoCAD2007中得到支持。

通过对注册表的查找,发现HKEY_CLASSES_ROOT\CLSID\{D70E31AD-2614-49F2-B0FC-ACA781D81F3E}\Autoconvertto 的值是空的,因此,我直接在此键值里面填入{6A221957-2D85-42A7-8E19-BE33950D1DEB}就可以了

问题解决了

jackyyu 发表于 2012-5-31 17:29:33

嗯,问题解决了,请版主锁帖,谢谢

lovecom 发表于 2012-6-5 11:07:59

感谢2楼的办法,很有用。
页: [1]
查看完整版本: office不能调用cad2013