Признаться, не люблю 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: Как повернуть кучу фигур»