hustdiamon 发表于 2006-12-3 02:39:00

运行起来无错误,但就是初始化窗体时不显示块属性?

<P>Private Sub UserForm_Initialize()<BR>&nbsp; '根据AutoCAD的版本来确定使用ObjectDBX的版本<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Left(Version, 2) = "15" Then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set objDbx = CreateObject("ObjectDBX.AxDbDocument.1")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ElseIf Left(Version, 2) = "16" Then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set objDbx = CreateObject("ObjectDBX.AxDbDocument.16")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp; '判断图中是否有TitleTable模块,若有则读取图块的信息;否则初始化为缺省值。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim objBlkref As AcadBlockReference<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim objEnt As AcadEntity<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim VarAttributes As Variant<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim i As Integer<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; On Error Resume Next</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For Each objEnt In ThisDrawing.Blocks<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '取得块属性<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If StrComp(objEnt.Name, "TitleTable") = 1 Then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set objBlkref = objEnt<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VarAttributes = objBlkref.GetAttributes<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For i = LBound(VarAttributes) To UBound(VarAttributes)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If UCase(VarAttributes(i).TagString) = "模块代号01" Then txtbox1.Text = VarAttributes(i).TextString<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If UCase(VarAttributes(i).TagString) = "模块代号02" Then txtbox2.Text = VarAttributes(i).TextString<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next i<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ThisDrawing.Utility.Prompt vbCr &amp; "图中没有标题栏."<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; txtbox1.Text = "1"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; txtbox2.Text = "2"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Next objEnt</P>
<P>End Sub</P>
<P>其中,txtbox1,txtbox2是窗体上的两个txtbox控件。CAD中已经存在TitleTable属性块,但是运行该代码后,对话框窗体上这两个控件却空空如也,甚至"1","2"都没有。请高手指点一下,谢谢!!!</P>
页: [1]
查看完整版本: 运行起来无错误,但就是初始化窗体时不显示块属性?