bjbjbjbj 发表于 2009-1-6 09:30:00

如何提取块中的数字

如图所示,图右边为要提取的文字,为块参照
我要提取 标记为H 的数字,其中有 提示H0的为整数部分。我的代码如下:
For Each ent In ssetObj
If StrComp(ent.ObjectName, "AcDbBlockReference", 1) = 0 Then
RetVal = ent.GetAttributes
    For i = LBound(RetVal) To UBound(RetVal)
      If UCase(RetVal(i).TagString) = TextBox1.text Then
               a = RetVal(i).textstring
               coorpoint = RetVal(i).insertionpoint
      End If
         If UCase(RetVal(i).PromptString) = TextBox2.text Then
          b = RetVal(i).textstring
                  End If
    Next
coorpoint(2) = b + a / 10
End If
上面的textbox1.text 可以输入为标记名称,TextBox2.text 作为输入 提示 名称
以上代码好像只能提取小数部分,整数部分不能提取出来。
请各位高手解答!!不胜感激


bjbjbjbj 发表于 2009-1-6 15:11:00

研究半天,自己解决。程序如下,不必输入标记和提示名称了,数据提取成功。就是不知道能否通用。各位有什么更好的方法啊
If i = LBound(RetVal) Then
            a = RetVal(i).textstring
            Else
            If i = 1 Then
            b = RetVal(i).textstring
            End If
            End If
            coorpoint = RetVal(i).insertionpoint
    Next i

coorpoint(2) = a + b / 10
页: [1]
查看完整版本: 如何提取块中的数字