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

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

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