乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 135|回复: 10

我以为这比这容易…(新手提醒)

[复制链接]

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2008-11-13 13:14:21 | 显示全部楼层 |阅读模式
我觉得这样比较容易。我遇到了一个障碍,在所有的例子中,我发现这段代码应该可以工作
基本,我是说基本,我想创建两个选择集。我了解到,我需要检查它们是否已经存在,如果已经存在,则删除它们。然后再次创建选择集。我想要这段简单的代码做的是查看现有的选择集,并删除任何与我将要创建的名称相同的选择集。然后做一个简单的显示,显示我创建的选择集在图形中。然后,我将在此基础上构建代码
  1. Sub ChXrefGray()
  2. Dim ASSS as acadselectionsets
  3. Dim Ass, xxreflist, xxlayerlist as acadselectionset
  4. Dim msg as string
  5. Set ASSS = ThisDrawing.SelectionSets
  6. For Each Ass In ASSS
  7.     If Ass.Name = "xreflist" Then
  8.       ASSS.Item("xreflist").Delete
  9.       Else   
  10.     If Ass = "layerlist" Then
  11.       ASSS.Item("layerlist").Delete
  12.       Else   
  13.   End If
  14. Next
  15. Set ssxreflist = ASSS.Add("XrefList")
  16. Set sslayerlist = ASSS.Add("LayerList")
  17. MsgBox "there are " & ThisDrawing.SelectionSets.Count & "Selection Sets in this drawing"
  18. msg = vbCrLf & vbCrLf
  19. For Each Ass In ASSS
  20.     AssName = Ass.Name
  21.     msg = msg & AssName
  22.     msg = msg & vbCrLf
  23. Next
  24. MsgBox msg
  25. End Sub

Can#039;不要变得更基本。但是当我运行代码时,VB告诉我,我有一个下一个语句,没有For语句。在代码的最开始。我希望有人能向我解释为什么我的代码不起作用,但其他同样的例子可以
谢谢大家,亚历克斯
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2008-11-13 13:18:11 | 显示全部楼层
试试这个…
  1. For Each Ass In ASSS
  2.     If Ass.Name = "xreflist" Then
  3.       ASSS.Item("xreflist").Delete
  4.     ElseIf Ass = "layerlist" Then
  5.       ASSS.Item("layerlist").Delete
  6.   End If
  7. Next
回复

使用道具 举报

17

主题

162

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
234
发表于 2008-11-13 13:48:41 | 显示全部楼层

回复

使用道具 举报

17

主题

162

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
234
发表于 2008-11-13 13:55:29 | 显示全部楼层
马特,非常感谢。它起到了很好的作用。我向你那充满智慧的好话致敬
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2008-11-13 13:56:38 | 显示全部楼层
&书信电报;Skynard&gt♪♫ ewww EWW那个味道…坎特楚闻那个味道…&#9834♫ &lt/Skynard>
回复

使用道具 举报

17

主题

162

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
234
发表于 2008-11-13 14:24:10 | 显示全部楼层


 我没有'我甚至没看到!
回复

使用道具 举报

17

主题

162

帖子

7

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
234
发表于 2008-12-3 14:14:45 | 显示全部楼层
只是环顾四周,看到了这个帖子。我可以'我相信没有人提供这种代码
  1. Sub ChXrefGray()
  2. Dim ASSS as acadselectionsets
  3. Dim Ass, xxreflist, xxlayerlist as acadselectionset
  4. Dim msg as string
  5. Set ASSS = ThisDrawing.SelectionSets
  6. Set ssxreflist = vbdPowerSet("XrefList")
  7. Set sslayerlist =vbdPowerSet("LayerList")
  8. MsgBox "there are " & ThisDrawing.SelectionSets.Count & "Selection Sets in this drawing"
  9. msg = vbCrLf & vbCrLf
  10. For Each Ass In ASSS
  11.     AssName = Ass.Name
  12.     msg = msg & AssName
  13.     msg = msg & vbCrLf
  14. Next
  15. MsgBox msg
  16. End Sub
  17. 'From The Llama Library Published November 12, 1999
  18. Function vbdPowerSet(strName As String) As AcadSelectionSet
  19. Dim objSelSet As AcadSelectionSet
  20. Dim objSelCol As AcadSelectionSets
  21. Set objSelCol = Thisdrawing.SelectionSets
  22. For Each objSelSet In objSelCol
  23.       If objSelSet.Name = strName Then
  24.            objSelCol.Item(strName).Delete
  25.            Exit For
  26.       End If
  27. Next
  28. Set objSelSet = objSelCol.Add(strName)
  29. Set vbdPowerSet = objSelSet
  30. End Function
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2008-12-3 14:21:43 | 显示全部楼层

嘿Chuck!
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2008-12-3 14:24:59 | 显示全部楼层
这不是#039;t Se7en#039;是Chuck吗?
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2008-12-3 14:54:34 | 显示全部楼层
哦,天哪,这是一块宝石!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-4 17:25 , Processed in 1.348403 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表