yefeiwolaile 发表于 2008-5-30 20:13:00

从CAD内指定点提取TEXT文本至EXCEL出错

本帖最后由 作者 于 2008-5-30 20:21:08 编辑 <br /><br /> <p>&nbsp;以下是&nbsp; 从CAD内指定点提取TEXT文本至EXCEL的制定格时用到的一个循环,里面P,P2,P3是CAD内制定的三个文本的起始点坐标,PP是遍历CAD内文本指定点变量,但是最后运算后就是头一个P=PP时,提取不到指定文本,其余两个都能提取出来?真是百思不得其解。请高手帮忙解决。</p><p>&nbsp;For Each Ent In ThisDrawing.PaperSpace '循环实体&nbsp;</p><p>&nbsp;&nbsp;&nbsp; Select Case Ent.ObjectName '获取实体名<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Case "AcDbMText"&nbsp;&nbsp;&nbsp;&nbsp; '选择文本实体</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set TextEnt = Ent<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pp = TextEnt.InsertionPoint<br/>&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp; If p(0) = pp(0) And p(1) = pp(1) Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dz1 = TextEnt.TextString<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf p2(0) = pp(0) And p2(1) = pp(1) Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bb = TextEnt.TextString&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For aa = 1 To Len(bb)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If IsNumeric(Mid(bb, aa, 1)) Then Exit For</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next aa&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf p3(0) = pp(0) And p3(1) = pp(1) Then</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xz1 = TextEnt.TextString</p><p>&nbsp;&nbsp;&nbsp; End If&nbsp;&nbsp; </p><p>&nbsp;&nbsp;&nbsp; End Select<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp; Next Ent</p><p></p>

yefeiwolaile 发表于 2008-5-31 21:19:00

<p>我想到一个变通的办法,绕过识别这个点,直接固定TEXT文本在这里。</p>
页: [1]
查看完整版本: 从CAD内指定点提取TEXT文本至EXCEL出错