banni_za 发表于 2010-7-5 20:36:00

关于VBA中读取XDATA的问题

<p>各位高手,请教一下!下面这段程序是读取图中所有多段线的XDATA的数据,为什么我只能读到第一条多段线的XDATA的数据,后面的多段线的XDATA的数据读取不到!</p>
<p>&nbsp;</p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp; For Each elem In AcadAppObj.Application.ActiveDocument.ModelSpace<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If StrComp(elem.Layer, "MyLayer", 1) = 0 Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If StrComp(elem.EntityName, "AcDbPolyline", 1) = 0 Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elem.GetXData "", xtypeOut, xdataOut<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For count = LBound(xdataOut) To UBound(xdataOut)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msgbox trim(<font face="Verdana">xdataOut(count))</font></p>
<p><font face="Verdana"></font>&nbsp;</p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next count</p>
<p><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If</font></p>
<p><font face="Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; Next</font></p>

zzyong00 发表于 2010-7-6 09:51:00

<p>貌似没有问题</p>

mycad 发表于 2010-7-12 14:15:00

使用选择集试试看

wuyunpeng888 发表于 2010-7-13 23:04:00

谁知道你的变量是怎么定义的

wwswwswws 发表于 2010-7-31 17:47:00

从程序上看你是找的MyLayer图层上的多段线,可能这个图层上的多段线就只有一条。你可以用选择集试试,可能更好。
页: [1]
查看完整版本: 关于VBA中读取XDATA的问题