我们经常在EXCEL或WORD或WPS中,打开CAD图提示”不能启动此对象的源应用程序“,或从CAD中复制的图象到EXCEL中能正常打开,但是换了一个CAD版本后就打不开了,提示“不能启动此对象的源应用程序“的解决办法。
解决办法很简单:
由于AutoCAD具有向下兼容性,因此可以通过注册表项的自动转向方式让旧的OLE对象去使用新的服务器程序,即通过修改注册表实现低版本向高版本的转换。

前期准备工作(包括相关工具或所使用的原料等)
excel或word或wpsAuto CAD详细的操作方法或具体步骤
我们先获取本机能正常打开的excel表格图片。打开EXCEL后,单击该图片,获得该图片对应的OLE调用对象。在图中我们可以看到能正常打开的图像调用的OLE对象为AutoCAD.Drawing.17(AutoCAD 2008版本使用的OLESID)

这时我们打开注册表编辑器

查看HKEY_CLASSES_ROOT\[DWG格式号]\CLSID就能找到对应的DWG文件格式的CLSID。即: *AutoCAD.Drawing.17格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.17\CLSID可获得
{7AABBB95-79BE-4C0F-8024-EB6AF271231C}

按照如上述的1,2,3步我们可得到打不开的图象对应的OLESID:
*AutoCAD.Drawing.16格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.16\CLSID可获得
{8E75D913-3D21-11d2-85C4-080009A0C626}

这时我们打开文本编辑器,输入转换语句:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{8E75D913-3D21-11d2-85C4-080009A0C626}\Autoconvertto]
@="{7AABBB95-79BE-4C0F-8024-EB6AF271231C}"
保存为注册表文件:AutoCADR16TOAutoCADR17.reg




双击 AutoCADR16TOAutoCADR17.reg 该文件即可向注册表添加转换信息,重新打开EXCEL表格即可正常打开图象了。
为了方便各位找到对应的OLESID
附各版本对应的OLESID
*AutoCAD 2000/2000i/20002格式DWG文件的CLSID可查看
HKEY_CLASSES_ROOT\AutoCAD.Drawing.15\CLSID;
*AutoCAD 2004/2005/2006格式DWG文件的CLSID可查看
HKEY_CLASSES_ROOT\AutoCAD.Drawing.16\CLSID;
*AutoCAD2007格式DWG文件的CLSID可查看
HKEY_CLASSES_ROOT\AutoCAD.Drawing.17\CLSID,依此类推。
附AutoCAD各版本的OLE对象在注册表中的SID值是多少
AutoCAD 2007/2008的OLECLSID
{7AABBB95-79BE-4C0F-8024-EB6AF271231C}
AutoCAD 2004,05,06的OLECLSID
{8E75D913-3D21-11d2-85C4-080009A0C626}
AutoCAD 2000,2000i,2002的OLECLSID
{8E75D913-3D21-11d2-85C4-080009A0C626}
注意事项
由于AutoCAD具有向下兼容性,因此可以通过注册表项的自动转向方式让旧的OLE对象去使用新的服务程序各版本的CAD图的OLESID不同经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
