Признаться, не люблю Corel Draw. Но вынужден иногда в этой программе работать. И здесь, как никогда, требуется обработка напильником. Вот скрипт, написанный на днях, который поворачивает каждый из выделенных объектов на 180 градусов. Заметьте: каждый по отдельности. Все скопом можно легко повернуть, выделив их и введя новый угол в соответствующее поле на панели, но в этом случае они будут вращаться относительно общей оси. Стандартного способа повернуть объекты каждый вокруг своего центра, не сдвигая их, я не нашел. Возможно, плохо искал, тем не менее скрипт.

' Поворот выделенных объектов по отдельности на 180 градусов

Sub Rotate180()
Dim sh As Shape
Dim centerX As Double, centerY As Double

' Перебираем все shape в выделении
For Each sh In ActiveSelection.Shapes
    With sh

        ' Ищем центральную точку, вокруг которой будем вращать
        centerY = (.TopY - .BottomY) / 2 + .BottomY
        centerX = (.RightX - .LeftX) / 2 + .LeftX

        ' Вращаем
        .RotateEx 180, centerX, centerY

    End With
Next

End Sub

Не забывайте про возможность поиграть с группировкой. Если при повороте нужно сохранить положение нескольких фигур относительно друг друга, их можно сгруппировать, и только потом поворачивать. Или вернуться к полю ввода угла, — как вам удобнее.

Также читайте всю серию постов по VBA.

  
Электронная книга: как правильно выбрать?
В настоящее время, электронные книги среди многих пользователей становятся всё более и более популяр
Какой правильно выбирать планшетный ПК?
Подобрать планшетный ПК достаточно непросто. Сегодня присутствует множество предложений, среди котор
Влияние музыки на человека трудно переоценить
Лечите душу ощущениями и…музыкой. Влияние музыки на человека поистине значительное, и это факт, о

1 комментарий на «VBA.CorelDraw: Как повернуть кучу фигур»

Оставить комментарий