修改如下
- Option Explicit
- Sub useIT()
- Dim selset As AcadSelectionSet
- [b][i][color=red]Set[/color][/i][/b] selset = CreateSelectionSet1
- MsgBox (selset.Count)
- End Sub
- Public Function CreateSelectionSet1(Optional ssName As String = "ss") As AcadSelectionSet
- Dim ss As AcadSelectionSet
- On Error Resume Next
- Set ss = ThisDrawing.SelectionSets(ssName)
- If Err Then Set ss = ThisDrawing.SelectionSets.Add(ssName)
- ss.Clear
- Set Create SelectionSet[b][i]1[/i][/b] = ss
- End Function
您错过了(请参阅红色/粗体文本-不知道为什么我无法将红色设置为Selectionset1 word中的“1”字符):
-“selset=CreateSelectionSet1”语句开头的“Set”关键字
-“CreateSelectionSet1”函数中的正确函数名引用
此外,我在模块的开头添加了“Option Explicit”语句。我总是发现这很有帮助,因为它迫使你明确地声明所有变量,从而不留下一些隐式变量,这最终会更好地理解我在做什么 |