找不到密钥
Public Sub sele()
If Not IsNull(ThisDrawing.SelectionSets.Item("sel")) Then
Set sset = ThisDrawing.SelectionSets.Item("sel")
sset.Delete
End If
Set sset = ThisDrawing.SelectionSets.Add("sel")
sset.SelectOnScreen
End Sub
这些代码由其他功能使用。当运行上述代码时,应用程序出现错误“找不到键”。但是运行以下代码,就可以了
Public Sub selsets()
Dim sset As AcadSelectionSet
Dim str As String
Dim selmtxt As AcadMText
Dim getobj As AcadEntity
If Not IsNull(ThisDrawing.SelectionSets.Item("sel")) Then
Set sset = ThisDrawing.SelectionSets.Item("sel")
sset.Delete
End If
Set sset = ThisDrawing.SelectionSets.Add("sel")
sset.SelectOnScreen
For Each getobj In sset
If getobj.ObjectName Like "*Text" Then
Set selmtxt = getobj
If selmtxt.TextString = "{\C7;0}" Then
selmtxt.TextString = "0.01"
selmtxt.Update
End If
End If
Next
End Sub
尝试在您的版本中减小sset。我想它不知道你想做什么 在项目开始时,我将publice dim sset的sset作为acadselectionset进行了尺寸标注,并将其用于其他功能中。也许你是对的。我将尝试给sele()一个参数并优化所有子对象。 我更改了代码如下
Function sele(aa As String) As AcadSelectionSet
Dim sset As AcadSelectionSet
On Error Resume Next
ThisDrawing.SelectionSets(aa).Delete
'Don't know the difference between "ThisDrawing.SelectionSets.Item("sel")"
Set sset = ThisDrawing.SelectionSets.Add(aa)
sset.SelectOnScreen
Set sele = sset
End Function
页:
[1]