Re: Сложнейшая задача для дилетанта
Написал wOxxOm в 01/06/2009 18:39:12
ну, код мой
он просто создает нечто вроде массива, упорядоченного по координате X (.PositionX в вспомогательной функции collStuffSorted). Надо будет заменить на .SizeWidth.
так, раз сам разбираться будешь, то вот пару подсказок в неупорядоченном виде.
Параметр Direction в вызове collStuffSorted coll, s, -1 это направление сортировки.
Надо будет в начале добавить объявление dim s as shape
Еще заключить основной код в рамки процедуры:
Sub SortObj()
...основной код
End Sub
Function collStuffSorted......
......
end function
ну и самое главное двигать объекты на новые координаты в цикле:
dim obj as object ' на всякий случай если не пройдет перебор через 's'
for each obj in coll
set s=obj
'а дальше работать с 's' как с обычным объектом Shape
.............
.............
nextтут вместо ............ надо например
s.SetPosition curX, CurY
curX=curX+s.SizeWidth+10: if curX>ActivePage.SizeWidth then curX=10: cyrY=curY+100: if curY>ActivePage.SizeHeight then curX=10:curY=10: ActiveDocument.InsertPages 1, false, ActivePage.Index
ну и разумеется в начале процедуры SortObj поставить выбор миллиметров:
ActiveDocument.Unit = cdrMillimeter
ах, да - и в начале же для порядока можно объявить dim CurX#, CurY#: CurX=10: CurY=10