Если есть вопросы по скриптам

  • Автор темы Автор темы Oleg Butrin
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Если есть вопросы по скриптам

Доброго времени суток Господа!

Подскажите, пожалуйста, как мне сделать или в какую сторону копать.

Есть на странице 3 TextFrame
Необходимо их связать, чтобы когда заполнялся один, далнейшие строки выводились в следующем.
Как это сделать ручками я разобрался. а вот в скрипте.

Буду очень признателен.
 
Ответ: Если есть вопросы по скриптам

Код:
var myTF = app.activeDocument.selection;  //Все три фрейма предварительно выделены, получили массив выделенных объектов
myTF[0].nextTextFrame = myTF[1];
myTF[1].nextTextFrame = myTF[2];
Либо в обратном порядке через previousTextFrame.
 
Ответ: Если есть вопросы по скриптам

Спасибо! Помогло.:)

Возникло еще пару вопросов.
Есть набор из несколькиих абзацев.
Можно ли в одном абзаце поменять цвет фона. Цвет шрифта поменять можно, а фон не знаю.
И где можно глянуть скрипт по созданию стиля абзаца.
 
Ответ: Если есть вопросы по скриптам

скрипт по созданию стиля абзаца.
Код:
var myParStyle = app.activeDocument.paragraphStyles.add();
myParStyle.name = "...";
myParStyle.pointSize = ...;
...


Можно ли в одном абзаце поменять цвет фона.
Штатно - нет. Посмотрите эту тему, обратите внимание на 20-е сообщение.
 
Ответ: Если есть вопросы по скриптам

Цвет фона в абзаце. Можно воспользоваться танцами с бубном, а именно: задать в стиле абзаца подчеркивание и, если нужно, последнюю линию абзаца (Ruler), задав их шириной в интерлиньяж или больше.
Создание стиля. На Adobe берется InDesignCSx_ScriptingGuide_JS.pdf (или ...AS.pdf для AppleScript) и ищется глава "Creating and Applying Styles", там есть.
 
Ответ: Если есть вопросы по скриптам

Спасибо за помощь... только скрипт все равно в индизайне не работает...
 
Помогите новичку

Осваиваю JS. Вопрос: как выделить текстовый фрейм, расположенный на именованном мастере, по его координатам? Поиском не нашел. Заранее благодарен.
 
Ответ: Помогите новичку

перебрать все фреймы на странице, посмотреть какие попадают в нужные координаты.
 
Ответ: Если есть вопросы по скриптам

Помогите пожалуйста! Не могу понять почему кусок кода не работает

Есть ячейка, в ней текст. Когда ячейка переполняется, её содержимому тексту нужно поставить такой размер, чтобы он полностью влазил и таким образом не переполнял ячейку.
Вот кусок кода
Код:
myCell = myTable.cells[0]
myTable.cells[0].texts[0].select()
myOverset = myDoc.selection[0]
pt = myOverset.parentStory.contents.pointSize
lead = myOverset.autoLeading
while (myCell.overflows == true)
{
	pt = pt - 0,5
}
Дело в том, что цикл....эээ...зацикливается :). Проверяя значение код без while, становится понятно, что размер текста не меняется. Как же его поменять скриптом-то?
 
Ответ: Если есть вопросы по скриптам

вы меняете свою переменную pt, а надо менять myOverset.parentStory.contents.pointSize, видимо
 
Ответ: Если есть вопросы по скриптам

http://forum.rudtp.ru/showthread.php?t=42063&p=477742&viewfull=1#post477742
http://forum.rudtp.ru/showthread.php?t=20634&p=477658&highlight=overflows#post477658
myOverset.parentStory.contents.pointSize
parentStory, если не ошибаюсь, выделит весь материал, в котором Ваша таблица. Вы же в myOverset выделили весь текст в ячейке, parentStory в этой цепочке, имхо, не нужен.
 
Ответ: Если есть вопросы по скриптам

я еще помню есть подвох, что если текст оверсет, то cell.contents получается пустой.
 
Ответ: Если есть вопросы по скриптам

Да, cell.contents выдаст только поместившийся текст, cell.texts[0].contents — весь, включая оверсет.
 
Ответ: Если есть вопросы по скриптам

При запуске выделяется строчка myS += "File: " + mylinks.name + "\r" и пишется - object is invalid. Почему?
Код:
myS= ""
var myDoc= app.activeDocument;
var myLinks = myDoc.links
var totalLinks = myDoc.links.length;
	for ( i = 0;  i  < totalLinks;  i++ )
	{
	     myS +=  "File: " + myLinks[i].name + "\r";
	}
alert (af)
 
Ответ: Если есть вопросы по скриптам

Даже при отсутствии линков на эту строчку не ругается. Ругается (и это логично) на последнюю строку. А насчет Вашего случая надо смотреть, что с линками в самом файле.
 
Ответ: Если есть вопросы по скриптам

В линках был файл indd. Когда я его удалил, все заработало.
А переменая af в алерте, это я забыл поменять на myS.
 
Ответ: Если есть вопросы по скриптам

Всем привет. Хочу упростить свою работу а сценарии и скрипты для таких прог ниразу не писал. Помогите пожалуста сделать сценарий для выделения в текстовом фрейме необходимого текста и сделать его bold
Для выделения я применяю GREPы такого вида.

1)
(\d{1,2})[.](\d{2})
$0 + Bold

2)
(["]|[«])( *.*\w*\d*)([»]|["]) ([Т][//][с])
«$2» $4 + Bold

3)
([Т][//][с])
$0 + Regular

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

И буду признателен если подскажите хорошую электронную книгу по данному вопросу, лучше на русском языке.
 
Ответ: Если есть вопросы по скриптам

victort, из книг могу посоветовать "Scripting InDesign CS3/4 with JavaScript By Peter Kahrel. Copyright © 2009 O’Reilly Media, Inc." Там на стр.47 нужная Вам тема.
Еще книги на Адобовском сайте серии "InDesignCS***_ScriptingGuide_JS(VB)". Ну и смотреть как делают другие — бесплатных примеров в сети хоть отбавляй.
 
Статус
Закрыто для дальнейших ответов.