1、我们先获取本机能正常打开的excel表格图片。打开EXCEL后,单击该图片,获得该图片对应的OLE调用对象。在图中我们可以看到能正常打开的图像调用的OLE对象为AutoCAD.Drawing.17(AutoCAD2008版本使用的OLESID)
2、这时我们打开注册表编辑器
3、查看HKEY_CLASSES_ROOT\[DWG格式号]\CLSID就能找到对应的DWG文件格式的CLSID。即:*AutoCAD.Drawing.17格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.17\CLSID可获得{7AABBB95-79BE-4C0F-8024-EB6AF271231C}
4、按照如上述的1,2,3步我们可得到打不开的图象对应的OLESID:*AutoCAD.Drawing.16格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.16\CLSID可获得{8E75D913-3D21-11d2-85C4-080009A0C626}
5、这时我们打开文本编辑器,输入转换语句:WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOT\CLSID\{8E75D913-3D21-11d2-85C4-080009A0C626}\Autoconvertto]@="{7AABBB95-79BE-4C0F-8024-EB6AF271231C}"保存为注册表文件:AutoCADR16TOAutoCADR17.reg
6、双击 AutoCADR16TOAutoCADR17.reg 该文件即可向注册表添加转换信息,重新打开EXCEL表格即可正常打开图象了。
7、为了方便各位找到对应的蚪嬷吃败OLESID附各版本对应的OLESID*AutoCAD2000/2000i/20002格式DWG文件的CLSID可查看HKEY_CLASS呶蓟鹭毵ES_ROOT\AutoCAD.Drawing.15\CLSID;*AutoCAD2004/2005/2006格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.16\CLSID;*AutoCAD2007格式DWG文件的CLSID可查看HKEY_CLASSES_ROOT\AutoCAD.Drawing.17\CLSID,依此类推。附AutoCAD各版本的OLE对象在注册表中的SID值是多少AutoCAD2007/2008的OLECLSID{7AABBB95-79BE-4C0F-8024-EB6AF271231C}AutoCAD2004,05,06的OLECLSID{8E75D913-3D21-11d2-85C4-080009A0C626}AutoCAD2000,2000i,2002的OLECLSID{8E75D913-3D21-11d2-85C4-080009A0C626}