如果选择集有同名的存在,则不能再创建,第一次运行时,该名称的选择集不存在,当然可以运行。但是以后运行时,由于已经存在同名的选择集,系统不让创建,所以就出错。可以改为:
Dim SsetObj As AcadSelectionSet '构选择集名pline
on error resume next '发生错误时执行下一句语句。
Set SsetObj = ThisDrawing.SelectionSets("pline") '引用选择集,不存在会触发错误
if err then Set SsetObj = ThisDrawing.SelectionSets.Add("pline") '发生错误时表明没有同名的选择集,可以创建一个。
ssetobj.clear '消空选择集中可能已经有的记录。