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