habakay 发表于 2022-7-6 21:56:49

块属性到文本错误

我尝试在块对象的同一点添加文本对象。
但它在下面的红线处给出了一个错误。
 
错误代码为;
运行时错误“5”:
过程调用或参数无效
 
Sub Block_Attributes_to_Text()
Dim obj As AcadBlockReference
Dim oText As AcadText
Dim inspt As Variant
Dim AttList As Variant
Dim metin As String
Dim poz As String
Dim adet As String
Dim cap As String
Dim ara As String
Dim boy As String
Dim MidPoint(0 To 2)
Dim NewColorObject As AcadAcCmColor
Dim acı As Double

ThisDrawing.Utility.GetEntity obj, inspt, "Select Block:"

If obj.ObjectName = "AcDbBlockReference" Then

   If obj.HasAttributes Then

       AttList = obj.GetAttributes

       For i = LBound(AttList) To UBound(AttList)

         Select Case AttList(i).TagString
   
         Case Is = "POZ1"
               poz = AttList(i).TextString
         Case Is = "DAD"
               adet = AttList(i).TextString
         Case Is = "CAP"
               cap = AttList(i).TextString
         Case Is = "ARA"
               ara = AttList(i).TextString
         Case Is = "BOY1"
               boy = AttList(i).TextString
         End Select

       Next i

   End If

Else
   MsgBox "You did not select a block."
End If
      
   
       metin = poz & "+" & adet & "»" & cap & "/" & ara & " L=" & boy

       MidPoint(0) = obj.InsertionPoint(0)
       MidPoint(1) = obj.InsertionPoint(1)
       MidPoint(2) = 0

       Set oText = ThisDrawing.ModelSpace.AddText(metin, MidPoint, 5)
       Set NewColorObject = obj.TrueColor
       NewColorObject.ColorMethod = acColorMethodByACI
       NewColorObject.ColorIndex = 2
       oText.TrueColor = NewColorObject
         
       acı = obj.Rotation
       oText.Rotate MidPoint, acı
       oText.Update



acı = Empty
Set NewColorObject = Nothing
Erase MidPoint
boy = vbNullString
ara = vbNullString
cap = vbNullString
adet = vbNullString
poz = vbNullString
metin = vbNullString
AttList = Empty
inspt = Empty
oText = Nothing
obj = Nothing


End Sub

RICVBA 发表于 2022-7-6 23:18:17

只需将中点声明为双精度
Dim MidPoint(0 To 2) As Double
 
此外,虽然与您遇到的问题无关,但您还必须更改底部的最后两行,在开头添加“set”关键字
Set oText = Nothing
Set obj = Nothing
页: [1]
查看完整版本: 块属性到文本错误