Тема: Почему ".Select acSelectionSetCrossing" работает так ненадежно?
Смысл кода таков:
Выделяются все тексты, затем вокруг их точек вставки (insertionpoint) задается прямоугольная область выделения, которой выделяются все попадающие в область линии того же слоя:
FType02(0) = 0 FData02(0) = "Text" FType02(1) = 8 FData02(1) = TLay Set AllText = ThisDrawing.SelectionSets.Add("SS01") Set Picket = ThisDrawing.SelectionSets.Add("SS02") AllText.Select acSelectionSetAll, , , FType02, FData02 Set elem = Nothing For Each elem In AllText Picoor = elem.InsertionPoint Pconer2(0) = Picoor(0) - 50: Pconer2(1) = Picoor(1) - 25: Pconer2(2) = 0 Pconer1(0) = Picoor(0) + 50: Pconer1(1) = Picoor(1) + 25: Pconer1(2) = 0 FData02(0) = "Line" Picket.Clear Picket.Select acSelectionSetCrossing, Pconer1, Pconer2, FType02, FData02 . . . . Next elem
Так вот на какой-то случайной итерации метод .Select acSelectionSetCrossing попросту не выделяет линии под областью выделения, хотя они ничем не отличаются от других таких же, уже обработанных в предыдущих итерациях. При чем, при последующем запуске, метод может спокойно сработать в этом месте и сбойнуть в другом.
Может кто-нибудь в курсе, откуда корни?.. Я все что мог передумал уже..