我觉得这样比较容易。我遇到了一个障碍,在所有的例子中,我发现这段代码应该可以工作
基本,我是说基本,我想创建两个选择集。我了解到,我需要检查它们是否已经存在,如果已经存在,则删除它们。然后再次创建选择集。我想要这段简单的代码做的是查看现有的选择集,并删除任何与我将要创建的名称相同的选择集。然后做一个简单的显示,显示我创建的选择集在图形中。然后,我将在此基础上构建代码
- Sub ChXrefGray()
- Dim ASSS as acadselectionsets
- Dim Ass, xxreflist, xxlayerlist as acadselectionset
- Dim msg as string
- Set ASSS = ThisDrawing.SelectionSets
- For Each Ass In ASSS
- If Ass.Name = "xreflist" Then
- ASSS.Item("xreflist").Delete
- Else
- If Ass = "layerlist" Then
- ASSS.Item("layerlist").Delete
- Else
- End If
- Next
- Set ssxreflist = ASSS.Add("XrefList")
- Set sslayerlist = ASSS.Add("LayerList")
- MsgBox "there are " & ThisDrawing.SelectionSets.Count & "Selection Sets in this drawing"
- msg = vbCrLf & vbCrLf
- For Each Ass In ASSS
- AssName = Ass.Name
- msg = msg & AssName
- msg = msg & vbCrLf
- Next
- MsgBox msg
- End Sub
Can#039;不要变得更基本。但是当我运行代码时,VB告诉我,我有一个下一个语句,没有For语句。在代码的最开始。我希望有人能向我解释为什么我的代码不起作用,但其他同样的例子可以
谢谢大家,亚历克斯
|