[CDR 2017-2022] Макрос заливки PostScript

pivovodka

Участник
Топикстартер
Сообщения
9
Реакции
0
Помогите разобраться с макросом. Где убрать лишние и что бы цвет линий был C-0, M-0, Y-0, K-100, заранее благодарю.
Код:
Attribute VB_Name = "FillLine"
Sub FillLine()
    Dim OrigSelection As ShapeRange
    Set OrigSelection = ActiveSelectionRange
    OrigSelection(1).Style.StringAssign "{""fill"":{""type"":""6"",""primaryColor"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000"",""secondaryColor"":""CMYK,USER,0,0,0,0,100,00000000-0000-0000-0000-000000000000"",""userFunction"":""F/Hatching"",""numParams"":""5"",""params"":""75,75,10,-45,0"",""fillName"":null},""outline"":{""width"":""2000"",""color"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000""},""transparency"":{}}"
    OrigSelection(1).Style.StringAssign "{""fill"":{""type"":""6"",""primaryColor"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000"",""secondaryColor"":""CMYK,USER,0,0,0,0,100,00000000-0000-0000-0000-000000000000"",""userFunction"":""F/Hatching"",""numParams"":""5"",""params"":""75,75,10,-45,0"",""fillName"":null},""outline"":{""width"":""2000"",""color"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000""},""transparency"":{}}"
    OrigSelection(1).Style.StringAssign "{""fill"":{""type"":""6"",""primaryColor"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000"",""secondaryColor"":""CMYK,USER,0,0,0,0,100,00000000-0000-0000-0000-000000000000"",""userFunction"":""F/Hatching"",""numParams"":""5"",""params"":""75,75,10,-45,0"",""fillName"":null},""outline"":{""width"":""2000"",""color"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000""},""transparency"":{}}"
    OrigSelection(1).Style.StringAssign "{""fill"":{""type"":""6"",""primaryColor"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000"",""secondaryColor"":""CMYK,USER,0,0,0,0,100,00000000-0000-0000-0000-000000000000"",""userFunction"":""F/Hatching"",""numParams"":""5"",""params"":""75,75,10,-45,0"",""fillName"":null},""outline"":{""width"":""2000"",""color"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000""},""transparency"":{}}"
    OrigSelection(1).Style.StringAssign "{""fill"":{""type"":""6"",""primaryColor"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000"",""secondaryColor"":""CMYK,USER,0,0,0,0,100,00000000-0000-0000-0000-000000000000"",""userFunction"":""F/Hatching"",""numParams"":""5"",""params"":""75,75,10,-45,0"",""fillName"":null},""outline"":{""width"":""2000"",""color"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000""},""transparency"":{}}"
    OrigSelection(1).Style.StringAssign "{""fill"":{""type"":""6"",""primaryColor"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000"",""secondaryColor"":""CMYK,USER,0,0,0,0,100,00000000-0000-0000-0000-000000000000"",""userFunction"":""F/Hatching"",""numParams"":""5"",""params"":""75,75,10,-45,0"",""fillName"":null},""outline"":{""width"":""2000"",""color"":""CMYK,USER,0,0,0,100,100,00000000-0000-0000-0000-000000000000""},""transparency"":{}}"
End Sub
 

Вложения

Лишнее методом тыка убрал:
Код:
Sub FillLine()
    Dim OrigSelection As ShapeRange
    Set OrigSelection = ActiveSelectionRange
    OrigSelection(1).Style.StringAssign "{""fill"":{""type"":""6"",""userFunction"":""F/Hatching"",""numParams"":""5"",""params"":""75,75,10,-45,0"",""fillName"":null},""outline"":{""width"":""2000"",""color"":""CMYK,USER,0,0,0,100""},""transparency"":{}}"
End Sub
Но не могу добиться по CMYK 0,0,0,100
 
А разве в постскрипте цвет не долями единицы задается? Если вместо 100 поставить 1, к примеру?
 
  • Спасибо
Реакции: RIKITIKI и ~RA~
А кто сказал, что вообще можно сменить цвет?
 
1761828382440.png

не вижу я, чтобы цвет задавать можно было, прописан некий цвет в ps, и всё
 
Так там в коде, вроде, цвет outline задается же?
 
Да мало ли что он задает в коде. Важно, какие параметры есть у ps-fill. А там нет параметра "цвет". Пусть руками ее сначала перекрасит из интерфейса, потом дальше копать. Я не вижу такой ручки.
Может, я тз не понял, и нужно сменить цвет обводки объекта? Я понял, что тс хочет поменять цвет линий ps-заливки
 
Последнее редактирование:
Да мало ли что он задает в коде. Важно, какие параметры есть у ps-fill. А там нет параметра "цвет". Пусть руками ее сначала перекрасит из интерфейса, потом дальше копать. Я не вижу такой ручки
Там код постскрипт заливок в специальных файлах хранится. Но из VBA, конечно, доступа нет. В качестве костыля можно на лету PS код формировать и импортировать.
 
  • Спасибо
Реакции: zollinger
Там код постскрипт заливок в специальных файлах хранится. Но из VBA, конечно, доступа нет. В качестве костыля можно на лету PS код формировать и импортировать.
Да, я про это и говорю. А outline его макросом прекрасно меняется, без проблем.
В одном файле, в виде специально оформленных программ на ps
 
Да, это так... Но мне нужно цвет линий ps-заливки. Это нужно для печати чертежей
Забудь. Или пиши свои ps- филы, дело нехитрое, для того ктотзнаком с обратной польской записью 😁
 
Последнее редактирование:
Есть еще вариант не моросить себе голову и использовать специализированное программное обеспечение