lh869 发表于 2005-11-29 08:41:00

CAD属性块中的文字提取

<P>求助各位大侠,本人现在遇到一个十分棘手的问题,想请各位帮帮忙!</P>
<P>怎样才能用VB将我这CAD属性块中的文字提取出来,然后写入记事本或EXCEL中呢??急!急!!急!!!(注:属性块的名称为 "MATBODY")</P>
<P>小弟在此先谢过了!</P>

linyiwq 发表于 2005-11-29 12:11:00

Sub dd()<BR>&nbsp;&nbsp;&nbsp; Dim pBlockRef As AcadBlockReference&nbsp;&nbsp;&nbsp;&nbsp; '块参照<BR>&nbsp;&nbsp;&nbsp; Dim pntPickPoint As Variant&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '返回的PICKPOINT<BR>&nbsp;&nbsp;&nbsp;&nbsp;Dim pAttributeRef As AcadAttributeReference '属性参考<BR>&nbsp;&nbsp;&nbsp; Dim aAttributeRefArray As Variant&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '属性参考数组<BR>&nbsp;&nbsp;&nbsp; Dim strAttributeRefText As String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '属性值<BR>&nbsp;&nbsp;&nbsp; Dim nIndex As Integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '索引<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; On Error GoTo errHandle<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; ThisDrawing.Utility.GetEntity pBlockRef, pntPickPoint, "选择一个块参照:" '用户选择,具体参数的含义参照AUTOCAD帮助<BR>&nbsp;&nbsp;&nbsp; '下面判断用户选择的是否是一个块参照对象<BR>&nbsp;&nbsp;&nbsp; If pBlockRef.ObjectName &lt;&gt; "AcDbBlockReference" Then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MsgBox "你选择的不是块参照!"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Exit Sub&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '选择的不是块参照,退出<BR>&nbsp;&nbsp;&nbsp; End If<BR>&nbsp;&nbsp;&nbsp; '选择了一个块参照<BR>&nbsp;&nbsp;&nbsp; '创建一个文件等待写入“c:\123.txt”<BR>&nbsp;&nbsp;&nbsp; Open "c:\123.txt" For Output As #1<BR>&nbsp;&nbsp;&nbsp; aAttributeRefArray = pBlockRef.GetAttributes()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '获得该块中所有的属性参考<BR>&nbsp;&nbsp;&nbsp; For nIndex = LBound(aAttributeRefArray) To UBound(aAttributeRefArray)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set pAttributeRef = aAttributeRefArray(nIndex)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strAttributeRefText = pAttributeRef.TextString<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write #1, strAttributeRefText<BR>&nbsp;&nbsp;&nbsp; Next<BR>&nbsp;&nbsp;&nbsp; Close #1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '关闭文件<BR>&nbsp;&nbsp;&nbsp; Exit Sub<BR>errHandle:<BR>&nbsp;&nbsp;&nbsp; '错误处理<BR>&nbsp;&nbsp;&nbsp; MsgBox Err.Description<BR>End Sub

lh869 发表于 2005-11-30 07:58:00

以上代码放到VB中能运行吗?还要作什么修改?
页: [1]
查看完整版本: CAD属性块中的文字提取