как назначить цвет на VB script

Статус
Закрыто для дальнейших ответов.

yura-irk

Участник
Топикстартер
Сообщения
10
Реакции
0
Делаю примерно так:
Dim myInDesign As InDesign.Application
Dim myDocument As InDesign.Document
Dim myPage As InDesign.Page
Dim myTextFrame As InDesign.TextFrame
Dim myRectangle As InDesign.Rectangle
Dim myFillColor As InDesign.Color
Dim mySelection As InDesign.Section

Set myInDesign = CreateObject("InDesign.Application.CS")
Set myDocument = myInDesign.ActiveDocument
Set myFillColor = ???
Set myPage = myDocument.Pages.Item(1)
Set myRectangle = myDocument.Rectangles.Add
myRectangle.GeometricBounds = Array("20", "18", "197", "26")
Set myRectangle = myPage.Rectangles.Item(1)
myRectangle.FillColor=???
и ничего не выходит, чего вместо вопросиков написать, перерыл фсе форумы нигде примера не могу найти
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: как назначить цвет на VB script

Сначала надо было доку порыть :)

Set myInDesign = CreateObject("InDesign.Application.CS")
Set myDocument = myInDesign.ActiveDocument
Set myFillColor = myDocument.Colors.Item(1)
' Вариант
' Set myFillColor = myDocument.Colors.Item("[Paper]")
' Вариант: перебрать циклом все цвета и присвоить переменной ссылку на найденный
Set myPage = myDocument.Pages.Item(1)
Set myRectangle = myDocument.Rectangles.Add
myRectangle.GeometricBounds = Array("20", "18", "197", "26")
Set myRectangle = myPage.Rectangles.Item(1)
myRectangle.FillColor= myFillColor
' Вариант
' myRectangle.FillColor= "Red"

Читаем, читаем документацию.
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: как назначить цвет на VB script

И еще. Вы уверены, что у Вас VBScript? А не VB и не VBA? :)
 

yura-irk

Участник
Топикстартер
Сообщения
10
Реакции
0
Ответ: как назначить цвет на VB script

с этим проблемм нет
Set myFillColor = myDocument.Colors.Item("Black")
..................
myRectangle.FillColor= myFillColor
а вот как получить цвет "c=0 m=0 y=0 k=10"
 

yura-irk

Участник
Топикстартер
Сообщения
10
Реакции
0
Ответ: как назначить цвет на VB script

скорее всего я ошибся у меня VB
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: как назначить цвет на VB script

а вот как получить цвет
Так же как и Black. Если есть такой цвет (или swatch), то указываешь его имя. Можешь, прямо напрямую. В документации это так и сказано: либо ссылка на объект (color/swatch), либо строковая переменная (читай, название цвета).
 

yura-irk

Участник
Топикстартер
Сообщения
10
Реакции
0
Ответ: как назначить цвет на VB script

прошу прощения, а не можно -ли примерчик посмотреть.Нету у меня той волшебной документации в которой так вот подробно было бы все написано.
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: как назначить цвет на VB script

Код:
Dim myID As InDesign.Application
Dim myDoc As InDesign.Document
Dim myPage As InDesign.Page
Dim myTextFrame As InDesign.TextFrame
Dim myRectangle As InDesign.Rectangle
Dim myFillColor As InDesign.Color
Dim mySelection As InDesign.Section

Set myID = New InDesign.Application
Set myDoc = myID.ActiveDocument
Set myFillColor = myDoc.Colors("C=100 M=90 Y=10 K=0")

Set myPage = myDoc.Pages(1)
Set myRectangle = myPage.Rectangles.Add
myRectangle.GeometricBounds = Array("20", "18", "197", "26")
myRectangle.FillColor = myFillColor
Все работает. Только что проверил. Какие проблемы-то???
 

yura-irk

Участник
Топикстартер
Сообщения
10
Реакции
0
Ответ: как назначить цвет на VB script

действительно работает отлично, но это только если цвет в свочах присутствует, а если его нет...
ну то есть мне нужно получить например 10% черного и всё.
Большое спасибо ответы
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: как назначить цвет на VB script

Юр, ну создай ты его. Цвет этот.

Код:
Dim myID As InDesign.Application
Dim myDoc As InDesign.Document
Dim myPage As InDesign.Page
Dim myTextFrame As InDesign.TextFrame
Dim myRectangle As InDesign.Rectangle
Dim myFillColor As InDesign.Color
Dim mySelection As InDesign.Section

Set myID = New InDesign.Application
Set myDoc = myID.ActiveDocument
Set myFillColor = myDoc.Colors.Add()
myFillColor.Model = 1886548851 'Process Color
myFillColor.ColorValue = Array(0, 0, 0, 10) 'Черного капелька :)

Set myPage = myDoc.Pages(1)
Set myRectangle = myPage.Rectangles.Add
myRectangle.GeometricBounds = Array("20", "18", "197", "26")
myRectangle.FillColor = myFillColor
 

yura-irk

Участник
Топикстартер
Сообщения
10
Реакции
0
Ответ: как назначить цвет на VB script

а могно ещё вопрос?
как в текстовом фрейме изменить размер шрифта?
у меня получается, но только либо к параграфу, либо к отдельным буквам.
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: как назначить цвет на VB script

myTextFrame.ParentStory :)
 

MT

15 лет на форуме
Сообщения
246
Реакции
93
Ответ: как назначить цвет на VB script

Для изменения размера шрифта во всем фрейме нужно
взять его свойство Texts -- то есть список всех содержащихся в нем текстов. В этом списке всегда будет 1 элемент, его и нужно выбрать (Item(1)). Полученный текстовый объект и будет тем текстом, который содержится в нашем фрейме и к нему можно применять любые действия по изменению параметров шрифта.

Если мы хотим присвоить всему шрифту фрейма кегль 24, пишем:
myTextFrame.Texts.Item(1).SizePoint = 24

Если мы хотим присвоить шрифт "Minion Pro":
myTextFrame.Texts.Item(1).Font = "Minion Pro":

Если хотим этот текст удалить, пишем:
myTextFrame.Texts.Item(1).Delete

и т.д.
 

yura-irk

Участник
Топикстартер
Сообщения
10
Реакции
0
Ответ: как назначить цвет на VB script

и еще один вопрос не по теме:
1.какой язык лучше ява или басик
2.какой язык проще
3.кто быстрее работает
4.какие редакторы наиболее удобны

всем огромное спасибо
 

vbatushev

20 лет на форуме
Сообщения
2 242
Реакции
1 227
Ответ: как назначить цвет на VB script

1. Русский
2. Родной
3. Дураки
4. Пьяные
'))')

А если серьезно, то JavaScript для меня все более и более становится предпочтительным. Кабы еще некоторые улучшения в диалогах, но судя по тому, что добавлено в скриптинг других продуктов адоб, все еще впереди :)
Да, в качестве дебаггера использую встроенный ExtendScript Toolkit.
 
Статус
Закрыто для дальнейших ответов.