如何提取块中的数字
本帖最后由 作者 于 2009-1-6 9:35:40 编辑 <br /><br /> <p></p><p>如图所示,图右边为要提取的文字,为块参照</p><p>我要提取 标记为H 的数字,其中有 提示H0的为整数部分。我的代码如下:</p><p>For Each ent In ssetObj<br/>If StrComp(ent.ObjectName, "AcDbBlockReference", 1) = 0 Then<br/>RetVal = ent.GetAttributes<br/><br/> For i = LBound(RetVal) To UBound(RetVal)<br/> If UCase(RetVal(i).TagString) = TextBox1.text Then<br/> a = RetVal(i).textstring<br/> coorpoint = RetVal(i).insertionpoint<br/> End If<br/> If UCase(RetVal(i).PromptString) = TextBox2.text Then<br/> b = RetVal(i).textstring<br/> End If<br/> Next<br/>coorpoint(2) = b + a / 10<br/>End If</p><p>上面的textbox1.text 可以输入为标记名称,TextBox2.text 作为输入 提示 名称</p><p>以上代码好像只能提取小数部分,整数部分不能提取出来。</p><p>请各位高手解答!!不胜感激</p> <p>研究半天,自己解决。程序如下,不必输入标记和提示名称了,数据提取成功。就是不知道能否通用。各位有什么更好的方法啊</p><p>If i = LBound(RetVal) Then<br/> a = RetVal(i).textstring<br/> Else<br/> If i = 1 Then<br/> b = RetVal(i).textstring<br/> End If<br/> End If<br/> coorpoint = RetVal(i).insertionpoint<br/> Next i<br/> <br/>coorpoint(2) = a + b / 10</p>
页:
[1]