[CDR 2017-2021] нужен макрос добавления полей и пути к файлу ... плзззз)

los1k

Участник
Топикстартер
Сообщения
9
Реакции
0
печатаю баннера и постоянно в ручную рисую поля по 5см ... и путь к файлу на полях . может есть макрос ?? (((
 
Было-нужно сделать так.
Пример в студию. Можно (даже лучше) искусственно сделанный.
 
Было-нужно сделать так.
Пример в студию. Можно (даже лучше) искусственно сделанный.
бан.jpg
666666666.jpg
 
А "тута" что?
2021-08-12_15-40-06.png
 
файл сохранить нужно...

Код:
Sub Macro1()

    ActiveDocument.Unit = cdrMillimeter
    Dim s1 As Shape
    Set s1 = ActiveLayer.CreateRectangle(-5, ActiveDocument.MasterPage.SizeHeight + 5, ActiveDocument.MasterPage.SizeWidth + 5, -5)
    s1.Rectangle.CornerType = cdrCornerTypeRound
    s1.Rectangle.RelativeCornerScaling = True
    s1.Fill.ApplyNoFill
    s1.Outline.SetPropertiesEx 0.007874, OutlineStyles(0), CreateCMYKColor(0, 0, 0, 100), ArrowHeads(0), ArrowHeads(0), cdrFalse, cdrFalse, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, MiterLimit:=5#, Justification:=cdrOutlineJustificationInside
    ActiveDocument.ReferencePoint = cdrCenter

    Dim s2 As Shape
    Set s2 = ActiveLayer.CreateArtisticText(-6, -11, ActiveDocument.FilePath + ActiveDocument.FileName, , , , 16)
    s2.Fill.UniformColor.CMYKAssign 0, 0, 0, 100
    s2.Outline.SetNoOutline

End Sub
 
файл сохранить нужно...

Код:
Sub Macro1()

    ActiveDocument.Unit = cdrMillimeter
    Dim s1 As Shape
    Set s1 = ActiveLayer.CreateRectangle(-5, ActiveDocument.MasterPage.SizeHeight + 5, ActiveDocument.MasterPage.SizeWidth + 5, -5)
    s1.Rectangle.CornerType = cdrCornerTypeRound
    s1.Rectangle.RelativeCornerScaling = True
    s1.Fill.ApplyNoFill
    s1.Outline.SetPropertiesEx 0.007874, OutlineStyles(0), CreateCMYKColor(0, 0, 0, 100), ArrowHeads(0), ArrowHeads(0), cdrFalse, cdrFalse, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, MiterLimit:=5#, Justification:=cdrOutlineJustificationInside
    ActiveDocument.ReferencePoint = cdrCenter

    Dim s2 As Shape
    Set s2 = ActiveLayer.CreateArtisticText(-6, -11, ActiveDocument.FilePath + ActiveDocument.FileName, , , , 16)
    s2.Fill.UniformColor.CMYKAssign 0, 0, 0, 100
    s2.Outline.SetNoOutline

End Sub
рисует рамку по центру страницы :( а хотелось бы вокруг выделенного обьекта ) спасибо )
 
рисует рамку по центру страницы
И это правильно! :) Учитесь сразу делать размер страницы под макет и ставить его на нее (благо не сложно, клавишу p нажать... Следующий макет, на новой странице и т.д. :)
 
  • Спасибо
Реакции: MrDesigner и ~RA~
И это правильно! :) Учитесь сразу делать размер страницы под макет и ставить его на нее (благо не сложно, клавишу p нажать... Следующий макет, на новой странице и т.д. :)
мне приходят по 20 макетов на одной странице (.. и просто нужно их с полями отправить в печать
 
мне приходят по 20 макетов на одной странице
Во первых Вам придется это делать, либо группировать, выбирать и еще кучу кнопочек жать все равно :) Во вторых, вот поэтому и нужно тех кто так делает
7037131636f8a3c0ea72e0165eff2b94_XL.jpg
 
  • Спасибо
Реакции: lexter77
В CorelDraw 2021 есть замечательная способность подгонять лист под размер макета и даже с нужными полями.


autofit.jpg
 
Так может немного упростить код.

1628776580847.png
 
Вы уверены, что поля нужны 5 см??? Может миллиметры?


Вот так вокруг выделенного объекта:

Код:
Sub poly_podpis()

    ActiveDocument.Unit = cdrCentimeter
    
    Dim s0 As Shape
    Set s0 = ActiveDocument.ActiveShape
    
    Dim s1 As Shape
    Set s1 = ActiveLayer.CreateRectangle2(s0.PositionX - s0.SizeWidth / 2 - 5, s0.PositionY - s0.SizeHeight / 2 - 5, s0.SizeWidth + 10, s0.SizeHeight + 10)
    s1.Rectangle.CornerType = cdrCornerTypeRound
    s1.Rectangle.RelativeCornerScaling = True
    s1.Fill.ApplyNoFill
    s1.Outline.SetPropertiesEx 0.007874, OutlineStyles(0), CreateCMYKColor(0, 0, 0, 100), ArrowHeads(0), ArrowHeads(0), cdrFalse, cdrFalse, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, MiterLimit:=5#, Justification:=cdrOutlineJustificationInside
    ActiveDocument.ReferencePoint = cdrCenter

    Dim s2 As Shape
    Set s2 = ActiveLayer.CreateArtisticText(s0.PositionX - s0.SizeWidth / 2 - 5, s0.PositionY - s0.SizeHeight / 2 - 6, ActiveDocument.FilePath + ActiveDocument.FileName, , , , 16)
    s2.Fill.UniformColor.CMYKAssign 0, 0, 0, 100
    s2.Outline.SetNoOutline

End Sub
 
Вы уверены, что поля нужны 5 см??? Может миллиметры?


Вот так вокруг выделенного объекта:

Код:
Sub poly_podpis()

    ActiveDocument.Unit = cdrCentimeter
   
    Dim s0 As Shape
    Set s0 = ActiveDocument.ActiveShape
   
    Dim s1 As Shape
    Set s1 = ActiveLayer.CreateRectangle2(s0.PositionX - s0.SizeWidth / 2 - 5, s0.PositionY - s0.SizeHeight / 2 - 5, s0.SizeWidth + 10, s0.SizeHeight + 10)
    s1.Rectangle.CornerType = cdrCornerTypeRound
    s1.Rectangle.RelativeCornerScaling = True
    s1.Fill.ApplyNoFill
    s1.Outline.SetPropertiesEx 0.007874, OutlineStyles(0), CreateCMYKColor(0, 0, 0, 100), ArrowHeads(0), ArrowHeads(0), cdrFalse, cdrFalse, cdrOutlineButtLineCaps, cdrOutlineMiterLineJoin, 0#, 100, MiterLimit:=5#, Justification:=cdrOutlineJustificationInside
    ActiveDocument.ReferencePoint = cdrCenter

    Dim s2 As Shape
    Set s2 = ActiveLayer.CreateArtisticText(s0.PositionX - s0.SizeWidth / 2 - 5, s0.PositionY - s0.SizeHeight / 2 - 6, ActiveDocument.FilePath + ActiveDocument.FileName, , , , 16)
    s2.Fill.UniformColor.CMYKAssign 0, 0, 0, 100
    s2.Outline.SetNoOutline

End Sub
мммммммм ) спасибо вам большое !!! да по 5 см