1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Сбой Макроса CorelDraw

Тема в разделе "CorelDraw", создана пользователем _AR_, 7 июн 2006.

Модераторы: Артер
  1. _AR_

    _AR_ Активный участник

    С нами с:
    31.10.2006
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    5
    Уважаемые спецы, подскажите пжалста что в этом макросе не так,
    я применяю его для подготовки группы фигур к плоттерной резке.
    Глюк в следующем:
    Когда макрос расположит группу объектов на листе маркеры выделения не квадратные, а круглые. И при попытке выделить её прога кричит благим матом и закрывает файл. Но, правда он впоследствии, открывается без проблем и так до следующей попытки выделить эту группу.

    Вот макрос собственно:

    Sub Ugol_90()
    '
    ' Recorded 01.06.2006
    '
    ' Description:
    '
    '
    Dim OrigSelection As ShapeRange
    Set OrigSelection = ActiveSelectionRange
    OrigSelection.RotateEx 270#, 0#, 0#
    OrigSelection.ApplyNoFill
    OrigSelection.SetOutlineProperties 0.0001
    Dim s1 As Shape
    Set s1 = OrigSelection.Group
    OrigSelection.Group.AlignToPageCenter cdrAlignHCenter + cdrAlignVCenter, cdrTextAlignBoundingBox
    End Sub

    Другие макросы работают безперебойно.
    /Corel X3, XP SP2+update/AVP с разрешением на выполнение макросов.

    Смеяться не нада я ещё чайник в VBA. :)
     
  2. Kerch

    Kerch Активный участник

    С нами с:
    13.09.2006
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    5
    Скорее всего спотыкается на сгруппированных объектах.
     
  3. _AR_

    _AR_ Активный участник

    С нами с:
    31.10.2006
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    5
    Спасибо Kerch. С группировкой перемудрил.
    Поменял последнюю строчкув макросе:

    Sub Ugol_90()
    Dim OrigSelection As ShapeRange
    Set OrigSelection = ActiveSelectionRange
    OrigSelection.RotateEx 270#, 0#, 0#
    OrigSelection.ApplyNoFill
    OrigSelection.SetOutlineProperties 0.0001
    Dim s1 As Shape
    Set s1 = OrigSelection.Group
    s1.AlignToPageCenter cdrAlignHCenter + cdrAlignVCenter, cdrTextAlignBoundingBox
    End Sub

    после этого Corel глохнуть перестал, правда маркеры все ещё круглые :) .

    Если кому интересно, применяю его после использования "МАКРОС ДЛЯ ОПТИМИЗАЦИИ ПУТИ РЕЗКИ", нашел в инете, в связи стем, что он оптимизирует иерархию объектов слева направо, а мне надо снизу вверх. Плоттер не гоняет пленку вперед назад, а режет по очереди потихоньку отматывая от бобины пленку.
     
  4. Kerch

    Kerch Активный участник

    С нами с:
    13.09.2006
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    5
    Дались тебе эти маркеры :)
    Незнаю правда может я не совсем правильно понял что тебе надо но вот за 5 мин накидал:

    Sub plot()
    ActivePage.Shapes.All.Rotate 270
    ActivePage.Shapes.All.ApplyNoFill
    ActivePage.Shapes.All.SetOutlineProperties 0.0001
    SendKeys "p", True
    End Sub
     
  5. _AR_

    _AR_ Активный участник

    С нами с:
    31.10.2006
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    5
    Шикарно. (p)-это же хот кей? Не знал як это прописывается.
     
  6. Kerch

    Kerch Активный участник

    С нами с:
    13.09.2006
    Сообщения:
    63
    Симпатии:
    0
    Баллы:
    5
    Можно подвязывать на SendKeys в принципе любые фразы. Потом просто макрос садится на хоткей и вуаля!
     
Модераторы: Артер

Поделиться этой страницей