dfgs 发表于 2005-7-11 09:33:00

请教单行和多行文本的问题?

<P>本人查了许多资料、用了许多方法都没能求解,请高手指教了,谢谢!</P>
<P>最近在用VBA编一个小工具,但有两个问题无法解决:</P>
<P>1、使用“选择”方法去选择图形中的图元,如何进行过滤得到单行文本和多行文本,其它图元被过滤掉?</P>
<P>2、如何求得单行文本和多行文本在图中的座标值,即返回X轴和Y轴、Z轴的具体数值给一个变量。</P>
<P>请给出具体的代码,谢了!</P>

dfgs 发表于 2005-7-11 12:07:00

好象比较难,看来得版主出马了

雪山飞狐_lzh 发表于 2005-7-11 15:30:00

<P>1、</P>
<P>On Error Resume Next<BR>Dim ss As AcadSelectionSet<BR>ThisDrawing.SelectionSets("Test").Delete<BR>Set ss = ThisDrawing.SelectionSets.Add("Test")<BR>Dim ft(0) As Integer, fd(0)<BR>ft(0) = 0: fd(0) = "*Text"<BR>ss.Select acSelectionSetAll, , , ft, fd<BR></P>
<P>2、</P>http://www.vba.cn/object/acad2004/idh_insertionpoint.htm

dfgs 发表于 2005-7-11 17:02:00

本帖最后由 作者 于 2005-7-12 15:22:39 编辑 <br /><br /> <P>谢谢!第一个问题本人刚从“明经杂志2001-2期”中看到了解决办法(就是楼下的兄弟所介绍的那样),不过比版主的要复杂一点,但对以后的应用更有帮助,且扩展功能更强。不过追求更简节的程序是我们努力的目标!呵呵!</P>

wyj7485 发表于 2005-7-11 17:13:00

<P>Sub test()<BR>On Error Resume Next<BR>Dim ss As AcadSelectionSet<BR>ThisDrawing.SelectionSets("Test").Delete<BR>Set ss = ThisDrawing.SelectionSets.Add("Test")<BR>Dim ft(3) As Integer, fd(3)<BR>ft(0) = -4: fd(0) = "&lt;or"<BR>ft(1) = 0: fd(1) = "TEXT"<BR>ft(2) = 0: fd(2) = "MTEXT"<BR>ft(3) = -4: fd(3) = "or&gt;"<BR>ss.Select acSelectionSetAll, , , ft, fd<BR>MsgBox ss.Count<BR>End Sub</P>
<P>此为多重过滤设置,可以加入其他条件</P>

雪山飞狐_lzh 发表于 2005-7-11 23:21:00

<P>ft(0) = 0: fd(0) = "*Text"<BR>和你的过滤器效果是一样的</P>
<P>ft(0) = 0: fd(0) = "Text,MText"</P>
<P>也可,你的复杂了一点</P>
页: [1]
查看完整版本: 请教单行和多行文本的问题?