Результаты поиска

  1. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Хорошо, на будущее учту...
  2. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Та не, не обижаюсь... Вы, как программист, должны понимать, что если 1й раз в глаза видишь VBA, то без потери недель времени вот так вот с ходу в синтаксисе не разобраться... Синтаксис похож у всех языков, но все языки все-равно разные) нужно время на то чтоб разобраться, а...
  3. O

    Кольца и т.п.

    Ответ: Кольца и т.п. я написал вот так вот: Set expflt = ActiveDocument.ExportBitmap(Name = Str(name_pcx) + "C:\Users\Home\Desktop\Work\.pcx", cdrPCX, cdrSelection, ...) а в папке пусто...
  4. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Все заработало, почти дописал все что хотел :) Счастлив нереально) Просто у меня там предвидится под 1000 файлов экспортировать, и я бы повесился руками это все делать :) Как сделать что бы имя файла все время менялось? Set expflt =...
  5. O

    Кольца и т.п.

    Ответ: Кольца и т.п. С вопросами по LeaveSource и LeaveTarget разобрался. coll(385).Move 260#, 0# Dim xx1 As Shape xx1 = coll(385).Trim(coll(386), True, False) Когда исполняется вот такой код вылетает ошибка "91: Object Variable or With block variabe not set". Хотя операция трима проходит, и...
  6. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Да, да, да... понял) Получается надо делать как-то так: Он ссылку возвращает на объект типа Shape, то есть надо создать такой объект и присвоить ему значение, которое вернет функция, а потом уже этот объект будет новым TargetShape? Dim xx1 As Shape xx1 =...
  7. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Да, вроде понятно :) Я включил на запись макрос, и сделал несколько шагов из тех действий, которые мне нужны. Потом посмотрел что корел в макрос записал. Касаемо трима там появился такой кусок кода: Dim s2 As Shape Set s2 =...
  8. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Имеется ввиду слева относительно центра рабочего поля, и сверху от него :) То есть писать: Set gb = Layer(1).FindShapes(, cdrCurveShape) и Set gb = Layer(2).FindShapes(, cdrCurveShape)? И еще вопросик :) В итоге у меня получиться две коллекции coll1 и coll2 для объектов...
  9. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Подскажите пожалуйста еще вот какой момент. У меня сейчас задача следующая: есть объекты сверху и объекты слева. Мне нужно чтобы объекты сверху были упорядоченны в коллекцию coll1, а слева в коллекцию coll2. Если я их размещу на разных слоях, то как мне выбирать из какого...
  10. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Да, теперь все получилось. Я просто думал что coll "привязана" к объектам на слое, и упорядочивая coll мы упорядочиваем именно объекты. Все получилось, спасибо вам огромное, пойду дальше грызть гранит ВБА :)
  11. O

    Кольца и т.п.

    Ответ: Кольца и т.п. я когда хочу (для проверки) сдвинуть окружности по очереди: shag = 1 For Each s In coll step = 10 * shag ActiveLayer.Shapes(shag).Move step#, 0# shag = shag + 1 Next s получается ерунда. Я хочу чтобы самая большая окружность шагнула на 10 мм, следующая по размеру на 20 мм...
  12. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Да, сейчас заработало - элементы отсортированы по убыванию длины. Как мне теперь эту коллекцию "применить" к объектам в документе? coll отсортирована правильно, а вот окружности (Object Manager->Layer 1) идут в том порядке в котором они "появились" в документе, с ними после...
  13. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Итоговый код выглядит так: Sub Sort() ActiveDocument.Unit = cdrMillimeter Dim s As Shape Set gb = ActiveLayer.FindShapes(, cdrCurveShape) Dim coll As Collection: Set coll = New Collection For Each s In gb collStuffSorted coll, s, -1 Next s End Sub Function...
  14. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Да, проверил. В этой коллекции 7 элементов, если посмотреть Curve->Length то длинна у них разная, и по этой длине элементы не упорядочены...
  15. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Была глупая ошибка - объекты были не в кривых... Заработало с "Set gb = ActiveLayer.FindShapes(, cdrCurveShape)", он нашел 7 шейпов (все правильно у меня как раз 7 окружностей), но сортировки массива все равно не происходит :( Окружности как стояли не по порядку, так и...
  16. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Выдает ошибку в строке "key0 = sh.Curve.Length" говорит что "Object is of incorrect type for this operarion"
  17. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Не понял :) Что нужно сделать сделать чтоб сортировка происходила и окружности встали на свои места? :) По F8 указатель после строчки "For Each s In gb" перепрыгивает сразу на "ActiveLayer.Shapes(4).Move 200#, 0#", и потом на "End Sub" - программа отработала пропустив...
  18. O

    Кольца и т.п.

    Ответ: Кольца и т.п. Sub Sort()ActiveDocument.Unit = cdrMillimeter Dim s As Shape Set gb = ActivePage.FindShapes(, cdrCurveShape) Dim coll As Collection: Set coll = New Collection For Each s In gb collStuffSorted coll, s, -1 Next ActiveLayer.Shapes(4).Move 200#, 0# End Sub Function...
  19. O

    Кольца и т.п.

    Ответ: Срочно нужна помощь с макросом... У этих объектов одинаковые габариты. Квадратики по углам одинаковые (в плане размера и местоположения) для всех таких объектов, а вот окружности разные. То есть получается имеем пол окружности диаметром 10 мм + квадратики, потом пол окружности диаметром...
  20. O

    Кольца и т.п.

    Ответ: Срочно нужна помощь с макросом... Я тут накопипастил вот такой код: Sub Sort() ActiveDocument.Unit = cdrMillimeter Dim s As Shape Set gb = ActivePage.FindShapes(, cdrEllipseShape) Dim coll As Collection: Set coll = New Collection For Each s In gb collStuffSorted coll, s, -1 Next End...