Сложнейшая задача для дилетанта

Написал ege_ft в 01/06/2009 16:10:29

Салютую всем заинтересованным, и тем паче всем, кто сможет помочь)))
Возникла надобность автоматизации некоторых рабочих процессов в CD13, а так как самому хочется заставить программу работать в нужном русле, лишь прошу у всех вас, как у старших товарищей - не глупых и чутких подтянуть мои знания в VBA для Corela)). стоит несколько задач, но первоначальная - сортировка множества объектов по-нарастающей их ширины....Порылся на форуме, нашел следующие скрипты (весьма полезные при достаточном опыте):

Set gb = ActivePage.FindShapes(, cdrTextShape)

'в объявлении New использовать не надо, ибо будет тормозить
dim coll as Collection: set coll=new Collection

for each s in gb
collStuffSorted coll, s, -1
next
' теперь массив сортирован

dim obj as object ' на всякий случай если не пройдет перебор через 's'
for each obj in coll
set s=obj
'а дальше работать с 's' как с обычным объектом Shape
.............
.............
next

Function collStuffSorted&(coll As Collection, sh as shape, ByVal Direction&)

Dim a&, b&, C&, rel&
a = 1: b = coll.Count: C = 0: rel = 0
dim key0 as double: key0 = sh.PositionX
Do While b - a >= 0
C = (a + b) \ 2: rel = (key0 - coll(C).PositionX) * Direction
Select Case rel
Case is < 0: If C = a Then Exit Do Else b = C
Case 0: Exit Do
Case is > 0: If b = a Then Exit Do Else If a = C Then a = b Else a = C
End Select
Loop
If C = 0 Then coll.Add sh Else If rel = -1 Then coll.Add s, , C Else coll.Add s, , , C

End Function

Но для меня еще это тяжеловато, ибо еще толком не могу врубиться в синтаксис VBA, да и справочника человеческого тоже нема, а юзать хелп - все равно, что искать черную кошку в темной комнате...так что уповаю на вас, друзья....Уж очень хочется развить свой пытливый мозг в этом направлении.....

Источник: https://powerclip.ru/modules/newbb/viewtopic.php?post_id=98248

Rambler's Top100