for each 的问题?好奇怪啊!
for each obj in ss这语句怎么不能对obj赋值啊?我在家里调试的时候是可以的,但到了单位就不行了,同样是CAD2002,有什么关键的地方要注意的吗?各位老大?求救啊! Sub test_ss()Dim ss As AcadSelectionSet
Dim obj As AcadEntity
On Error Resume Next
Set ss = ThisDrawing.SelectionSets.Add("abc")
If Err Then
Err.Clear
Set ss = ThisDrawing.SelectionSets.item("abc")
End If
ss.Clear
ss.SelectOnScreen
For Each obj In ss
MsgBox obj.ObjectName
Next obj
End Sub
就是这样的一段简单得不得了的代码,为什么obj总是为Nothing,我记得以前是可以通过的,怎么搞的,可能真的是当局者迷吧,我就不知道为什么了,总觉得是一个怪问题,我今天上班一调试就不行了,在家里还是好好的!奇怪啊!希望大家想到什么就说点什么吧,启发一下我也万分感谢了! 我试过没有问题,有时候会有些莫名其妙的错误. 加一句:
ss.Clear
ss.SelectOnScreen
'在这里你检先调试一下看选择集中的实体个数
Dim cnt As Integer
cnt = ss.Count
ThisDrawing.Regen acActiveViewport
For Each obj In ss
MsgBox obj.ObjectName
Next obj 如果没有猜错的话,你那台机器装过试用版本的AutoCAD 2004 英文版。 太感谢两位版主老师啦,我确实以前装过2004版但已经卸载了,现在我的机子上还有一个R14版,不知道有没有影响呢?这是什么原因啊?那我应该怎样做啊?要不要先把R14 卸载,再重装CAD2002呢? 我到底应该怎样做才好呢?请指点! 终于解决问题啦,我把R14和2002都卸载了,然后只装2002,就没问题了,我想可能是我以前装了2002后又装R14,导致R14的什么文件覆盖了2002的什么文件所致的,如果先装R14后才装2002,那应该没问题吧!不知道是不是?没有考证!呵!
页:
[1]