由于具有向下兼容性,因此可以通过注册表项的自动转向方式让旧的OLE对象去使用新的服务器程序,即通过修改注册表实现低版本向高版本的转换。
解决这个问题的方法如下:
1、打开EXCEL后,单击该图片,获得该图片对应的OLE调用对象。在图中可以看到能正常打开的图像调用的OLE对象为AutoCAD.Drawing.17(AutoCAD2008版本使用的OLESID)
2、这时打开注册表编辑器
3、查看HKEY_CLASSES_ROOT[DWG格式号]CLSID就能找到对应的DWG文件格式的CLSID。即:*AutoCAD.Drawing.17格式DWG文件的CLSID可查看HKEY_CLASSES_ROOTAutoCAD.Drawing.17CLSID可获得。{7AABBB95-79BE-4C0F-8024-EB6AF271231C}
4、按照如上述的1,2,3步可得到打不开的图象对应的OLESID:*AutoCAD.Drawing.16格式DWG文件的CLSID可查看HKEY_CLASSES_ROOTAutoCAD.Drawing.16CLSID可获得{8E75D913-3D21-11d2-85C4-080009A0C626}
5、这时打开文本编辑器。
6、输入转换语句:WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOTCLSID{8E75D913-3D21-11d2-85C4-080009A0C626}Autoconvertto]@="{7AABBB95-79BE-4C0F-8024-EB6AF271231C}"
7、保存为注册表文件:AutoCADR16TOAutoCADR17.reg。