首先我们打开excel软件,然后打开想要导入cad的坐标。
其次,然后我们点击x和y列的第一个空单元格,也就是c2单元格,然后我们在顶部的fx公式列输入公式a2和b2,这样我们就可以把xy坐标修改成我们需要的格式了。
第三,然后我们用鼠标将c2单元格的右下角拖到底线。
第四,然后我们用细胞复制。复制完成后,我们可以检查复制的正确性。
5.然后我们在excle中选择c列x和y坐标的所有单元格,然后按ctrlc复制。然后我们将页面切换到cad并粘贴。
无法启动该对象的源应用程序。
案例:某公司的一个文员用cad2006画图然后把图纸复制粘贴到excel2007中。由于公司发展需要,将cad2006升级到cad2008版本后,excel2007中原有的图纸和文档可以t打开,并给出提示无法启动该对象的源应用程序。图例:
原因:
这是因为不同版本的autocad使用不同的注册表项来连接ole对象的服务器程序。当没有安装相应版本的软件时,容器程序无法找到ole服务程序。在这种情况下,计算机中安装的是autocad2008版本,图纸是在autocad2006中绘制的。本机默认的图纸打开程序是cad2008,不是cad2006。从2006到2008,autocad没有ole转换对象。drawing.16无法转换为autocad。图纸.17..
解决方案:
因为autocad具有向下兼容性,所以旧的ole对象可以通过自动转动注册表项,即从autocad转换来使用新的服务器程序。图纸.16转autocad。drawing.17可以通过修改注册表来实现。
让我们首先在注册表中找出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}
当时每个版本的olesid都很好找,当时用的是excel。当你点击绘图时,将显示该绘图调用的ole对象版本,如图:
在图中我们可以看到,这种情况下可以正常打开的图像所调用的ole对象是autocad。drawing.17(autocad2008中使用的olesid),然后我们打开注册表编辑器。
看hkey_类_根[dwg格式号]clsid,找到对应dwg文件格式的clsid。即*autocad中dwg文件的clsid。drawing.17格式可以在hkey_class_rootautocad.drawing.17csid中查看;
附上每个版本对应的olesid。
*autocad2000/2000i/20002格式的dwg文件clsid可在hkey_类_根autocad.drawing.15csid中找到;
*autocad2004/2005/2006格式的dwg文件clsid可在hkey_类_rootautocad.drawing.16csid中找到;*autocad2007dwg文件的clsid可以在hkey_classes_rootautocad.drawing.17csid等中找到。
其他版本的autocad以大致相同的查看olesid代码。
当你知道本机上安装的autocad的程序版本(本例使用的是autocad2008)和要读取的文件版本时,可以通过下面的注册表添加语句添加一个自动转换项。
windows注册表编辑器5.00版
[hkey_类_rootclsid{8e75d913-3d21-11d2-85c4-080009a0c626}自动转换]
@{7aabbb95-79be-4c0f-8024-eb6af271231c}
上面的例子是为了支持autocad生成的ole对象。autocad2008中的图纸.16。
这应该能正常打开。