[CDR X5-X8] Как проставить размеры у всех объектов сразу (длина/ширина)?

Совсем зелёный)

Участник
Топикстартер
Сообщения
8
Реакции
0
Добрый день!
Перед печатью всегда отправляю заказчику макет с размерами каждого изображения. Иногда бывает очень много объектов, всегда проставляю вручную...
Есть ли способ делать это быстрее (желательно по нажатию пары кнопок))? Может, макрос какой?
Сами размеры в итоге не нужны для печати, так же их удаляю вручную потом...
1.jpg
 
правда ваш Х5 - возможно - не всё согласится воспроизвести
 
В X7 я делаю так (X5 для перепроверки под рукой нет):
Код:
Sub dim_each()
  ActiveDocument.BeginCommandGroup "Dimensioner"
  ActiveDocument.Unit = cdrMillimeter
  d = 10
  For Each s In ActiveSelection.Shapes
    ActiveLayer.CreateLinearDimension(cdrDimensionVertical, s.SnapPoints.BBox(cdrTopMiddle), s.SnapPoints.BBox(cdrBottomMiddle), TextSize:=24).Dimension.TextShape.PositionX = s.LeftX - d
    ActiveLayer.CreateLinearDimension(cdrDimensionHorizontal, s.SnapPoints.BBox(cdrMiddleLeft), s.SnapPoints.BBox(cdrMiddleRight), TextSize:=24).Dimension.TextShape.PositionY = s.TopY + d
  Next s
  ActiveDocument.EndCommandGroup
End Sub
 
В X7 я делаю так (X5 для перепроверки под рукой нет):
Код:
Sub dim_each()
  ActiveDocument.BeginCommandGroup "Dimensioner"
  ActiveDocument.Unit = cdrMillimeter
  d = 10
  For Each s In ActiveSelection.Shapes
    ActiveLayer.CreateLinearDimension(cdrDimensionVertical, s.SnapPoints.BBox(cdrTopMiddle), s.SnapPoints.BBox(cdrBottomMiddle), TextSize:=24).Dimension.TextShape.PositionX = s.LeftX - d
    ActiveLayer.CreateLinearDimension(cdrDimensionHorizontal, s.SnapPoints.BBox(cdrMiddleLeft), s.SnapPoints.BBox(cdrMiddleRight), TextSize:=24).Dimension.TextShape.PositionY = s.TopY + d
  Next s
  ActiveDocument.EndCommandGroup
End Sub

А куды это втавлять-то надо?! Я совсем зелёный))
 
Поищите кнопку "Редактор макросов"
Или погуглите
Или нажмите F1
Всё получилось! Инструкцию кратенькую смотрела здесь Как написать макрос для CorelDRAW на VBA: введение (если нельзя использовать ссылку на другие сайты - удалю, но хочется шпаргалочку оставить)
 
В X7 я делаю так (X5 для перепроверки под рукой нет):
Код:
Sub dim_each()
  ActiveDocument.BeginCommandGroup "Dimensioner"
  ActiveDocument.Unit = cdrMillimeter
  d = 10
  For Each s In ActiveSelection.Shapes
    ActiveLayer.CreateLinearDimension(cdrDimensionVertical, s.SnapPoints.BBox(cdrTopMiddle), s.SnapPoints.BBox(cdrBottomMiddle), TextSize:=24).Dimension.TextShape.PositionX = s.LeftX - d
    ActiveLayer.CreateLinearDimension(cdrDimensionHorizontal, s.SnapPoints.BBox(cdrMiddleLeft), s.SnapPoints.BBox(cdrMiddleRight), TextSize:=24).Dimension.TextShape.PositionY = s.TopY + d
  Next s
  ActiveDocument.EndCommandGroup
End Sub
Всё прекрасно работает! Огромное спасибо за опертивную помощь всем!
1.jpg