【发布时间】:2022-01-14 18:35:55
【问题描述】:
'' Module1 Function
Public Function AddSelectionSet(ssName As String) As AcadSelectionSet
On Error Resume Next
Dim ss As AcadSelectionSet
Set ss = ThisDrawing.SelectionSets.Add(ssName)
If Err.Number <> 0 Then
Set ss = ThisDrawing.SelectionSets.Item(ssName)
End If
End Function
''Module2 code
Dim mySS As AcadSelectionSet
Set mySS = AddSelectionSet "myName"
上面和下面的代码都会导致 AutoCAD 的 VBAIDE 出现“语法错误”。
Set mySS = Call Module1.AddSelectionSet "myName"
【问题讨论】:
-
不是 AutoCAD 人员,但请尝试
Set mySS = AddSelectionSet("myName")。 -
你的函数永远不会返回任何东西......你需要
Set AddSelectionSet = ss以便它返回你的ss,并且你的module2代码需要在"myName"部分周围加上括号。 -
谢谢@braX 和@BigBen!在 Module1 上添加了
Set AddSelectionSet = ss,然后:Set mySS = AddSelectionSet("myName")。在 Module2 上工作。