Shaping - замена выделеных объектов на меченый объект

  • Автор темы Автор темы dizzy
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

dizzy

Участник
Топикстартер
Сообщения
425
Реакции
1
Собрали вы спуск с какими-то этикетками, к примеру, пустили на рип... А тут корректор приходит - мол надо кое че подправить! Рррр... Для этого в наборе шэйпинг есть возможность массовой замены объектов... Надо новую правленную этикетку пометить (кнопкой "Метим объект"), а потом выделить все старые этикетки и нажать на кнопку "Замена выделенных объектов на меченый". Если некоторые этикетки повернуты, то надо включить галочку "угол", тогда замена будет проходить с учетом угла поворота. Так же есть возможность учитывать и трансформации (разберетесь). Также есть отдельная кнопка для замены содержимого поверклипов...

Внимание! Во избежание недоразумений, этикетки должны быть сгруппированы... Всмысле каждая отдельно... Это же и касается содержания поверклипов...
 

Вложения

Ответ: Shaping - замена выделеных объектов на меченый объект

огромная благодарность за сей макрос. Частенько приходилось этой операцией заниматься путем копирования и последующего центрирования...
 
Ответ: Shaping - замена выделеных объектов на меченый объект

Нашел косячок в работе макроса. В правленной этикетке делаю подливку (пропорциональное увеличение, например по 2 мм в каждую сторону). При замене этой "меченной" этикетки на старые (выделенные) имеющие прежний (неувеличенный пропорционально) размер происходит сдвижка этикеток в сторону, т.е. ожидаемого центрирования меченной и старой этикетки не происходит. Это серьёзный косяк, если не заметить и отправить в печать.
 
Ответ: Shaping - замена выделеных объектов на меченый объект

feanors сказал(а):
Нашел косячок в работе макроса...
Это не косяк. Просто он работает относительно верхнего левого угла. На мой взгляд это более разумно, во всяком случае при тех задачах, которые я сам ставлю. Если Вам надо производить замену относительно центра, то могу посоветовать подправить слегка код:
PHP:
Sub Go()
    ActiveDocument.ReferencePoint = cdrCenter 
    'А было ActiveDocument.ReferencePoint = cdrTopLeft
    ActiveDocument.Unit = cdrMillimeter
    UserForm1.Show 0
End Sub
Могу еще подумать на тему выставления ReferencePoint в форме макроса, если это необходимо... Скажем если помимо вас еще кто-нить за это выскажется, то впендюрю обязательно :)
 
Ответ: Shaping - замена выделеных объектов на меченый объект

dizzy сказал(а):
....то могу посоветовать подправить слегка код:
PHP:
Sub Go()
    ActiveDocument.ReferencePoint = cdrCenter 
    'А было ActiveDocument.ReferencePoint = cdrTopLeft
    ActiveDocument.Unit = cdrMillimeter
    UserForm1.Show 0
End Sub
Могу еще подумать на тему выставления ReferencePoint в форме макроса, если это необходимо... Скажем если помимо вас еще кто-нить за это выскажется, то впендюрю обязательно :)
Огромная просьба сделать это в удобоваримом виде, ибо я в кодах ничего не смыслю, да и что такое "ReferencePoint" не знаю, а подливку приходится делать всегда, макрос очень нужен...
 
Ответ: Shaping - замена выделеных объектов на меченый объект

dizzy
Странно у меня он выделенные объекты не заменет :( А вот выделенный на место меченнего ставит..
 
Ответ: Shaping - замена выделеных объектов на меченый объект

Вместо замены он просто меченный объект дублирует :(
 
Ответ: Shaping - замена выделеных объектов на меченый объект

Шарфюрер сказал(а):
Вместо замены он просто меченный объект дублирует :(
Могу предположить что вы вместе с объектами на замену выделили и тот объект, который метили. И он по воле случае оказался первым по списку. Макрос сделал дубликат меченого, поставил на собственное место (точнее никуда не поставил), потом исходник, то есть меченый объект, убил, в результате копировать было не с чего. Так что если это так, сами понимаете что делать - следить за тем чтобы меченный объект не находился в выделении на замену. На будущее учту такой косяк, и поставлю соответствующее условие, тока щас ну совсем некогда. Извиняйте братцы!
 
Ответ: Shaping - замена выделеных объектов на меченый объект

Могу предложить как вариант макроса без кнопки "Метим объект" пользоваться SelectionInfo.FirstShape. Таким образом можно использовать как меченный последний выделенный объект. Примера к сожалению под рукой нет... :(
 
Ответ: Shaping - замена выделеных объектов на меченый объект

Хм..все вродке правильно делаю а не пашет :(
 
Ответ: Shaping - замена выделеных объектов на меченый объект

Добрался до примера.
Макрос помещает в поверклип в последний из выделенных шейпов.
Код:
Sub Add_To_PowerClip()
Dim lastS As Shape
Dim s As Shape
    Set lastS = ActiveDocument.SelectionInfo.FirstShape
    lastS.RemoveFromSelection
        For Each s In ActiveSelection.Shapes
            s.RemoveFromSelection
            s.AddToPowerClip lastS
        Next
End Sub
 
Статус
Закрыто для дальнейших ответов.