Скрипт для вставки слова/фразы

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

Оntario

Участник
Топикстартер
Сообщения
46
Реакции
14
Просьба помочь со скриптом, который вставляет определенную фразу в место расположения курсора в тексте. Java не знаю, пробую изучить только.

myDocument = app.documents[0]
myTextFrame.parentStory.insertionPoints.items(0).contents = "Фраза"
 
Недавно тут @Eugenyus выкладывал замечательный скрипт. Можно вставлять символы, можно применять стили, можно назначать шрифты и т. п.

Для вставки символа (фразы) в этом скрипте надо задать в 5-й строке:
Код:
app.activeDocument.selection[0].contents = "Символ или фраза";

Не совсем, правда, в место расположения курсора, - а в место, куда тыкаешь мышью. Возможно, это не совсем то, о чём Вы спрашивали, но, может, тоже пригодится (Вам или кому-нибудь другому, кого в эту тему поиск занесёт) :)
 
Последнее редактирование:
  • Спасибо
Реакции: Оntario
@Оntario, если Вы поместили курсор в тексте и запустили этот скрипт, то в место расположения курсора вставится Вашь текст:
Код:
app.selection[0].contents = 'Фраза';
Вы это имели ввиду? Если нет, то опишите, пожалуйста, Вашу задачу подробнее.
PS.
"JavaScript не знаю..." ;)
 
Последнее редактирование:
  • Спасибо
Реакции: Оntario
Недавно тут @Eugenyus выкладывал замечательный скрипт. Можно вставлять символы, можно применять стили, можно назначать шрифты и т. п.

Для вставки символа (фразы) в этом скрипте надо задать в 5-й строке:
Код:
app.activeDocument.selection[0].contents = "Символ или фраза";

Не совсем, правда, в место расположения курсора, - а в место, куда тыкаешь мышью. Возможно, это не совсем то, о чём Вы спрашивали, но, может, тоже пригодится (Вам или кому-нибудь другому, кого в эту тему поиск занесёт) :)

Спасибо за ссылку, очень полезный скрипт! Да, нужно вставлять именно в место, где тыкаешь мышкой.
Если заменить 5-ю строчку - вставляет фразу даже по одинарному клику и нажатию пробела, например.
Читаю дальше ту тему, это интересный способ, можно попробовать развить задачу.
 
@Оntario, если Вы поместили курсор в тексте и запустили этот скрипт, то в место расположения курсора вставится Вашь текст:
Код:
app.selection[0].contents = 'Фраза';
Вы это имели ввиду? Если нет, то опишите, пожалуйста, Вашу задачу подробнее.
PS. "JavaScript не знаю..." ;)

Да, именно это имелось ввиду, спасибо большое!
А можно сделать так, чтобы этой фразе сразу присваивался определенный символьный стиль?
 
А можно сделать так, чтобы этой фразе сразу присваивался определенный символьный стиль?

Насчёт скрипта не знаю, но в Индизайне есть такая замечательная функция, как GREP-стили. Идёте в свойства абзаца, находите там "Стиль GREP" и создаёте новый стиль GREP: применяете необходимый символьный стиль к вашей фразе (только если в этой фразе есть знак препинания, то его лучше задать через бэкслэш \ ).
Но это будет работать только в абзацах данного абзацного стиля (и тех стилей, которые созданы на основе данного).
Возможно, скрипт тоже можно как-то подправить, чтобы это работало, но это кто-нибудь другой подскажет, возможно :)

GREP.jpg
 
Последнее редактирование:
  • Спасибо
Реакции: Оntario
А скриптом можно примерно так:
Код:
var myCharStyle = app.activeDocument.characterStyles[1]; // get style
app.selection[0].applyCharacterStyle( myCharStyle  ); // apply style
app.selection[0].contents = "Hello, World!"; // insert text

Не по теме:

upd: но не знаю, насколько это грамотно в контексте скриптинга для InDesign – я быстренько DOM модель посмотрел...
http://www.jongware.com/idjshelp.html
http://jongware.mit.edu/idcs6js/pc_CharacterStyles.html
http://jongware.mit.edu/idcs6js/pc_CharacterStyle.html

 
Последнее редактирование модератором:
Насчёт скрипта не знаю, но в Индизайне есть такая замечательная функция, как GREP-стили. Идёте в свойства абзаца, находите там "Стиль GREP" и создаёте новый стиль GREP: применяете необходимый символьный стиль к вашей фразе (только если в этой фразе есть знак препинания, то его лучше задать через бэкслэш \ ).
Но это будет работать только в абзацах данного абзацного стиля (и тех стилей, которые созданы на основе данного).
Возможно, скрипт тоже можно как-то подправить, чтобы это работало, но это кто-нибудь другой подскажет, возможно :)

Посмотреть вложение 73962

Да, спасибо, grep-стили тоже очень хороший вариант!
 
А скриптом можно примерно так:
Код:
var myCharStyle = app.activeDocument.characterStyles[1]; // get style
app.selection[0].applyCharacterStyle( myCharStyle  ); // apply style
app.selection[0].contents = "Hello, World!"; // insert text

Не по теме:

upd: но не знаю, насколько это грамотно в контексте скриптинга для InDesign – я быстренько DOM модель посмотрел...
http://www.jongware.com/idjshelp.html
http://jongware.mit.edu/idcs6js/pc_CharacterStyles.html
http://jongware.mit.edu/idcs6js/pc_CharacterStyle.html


Спасибо, отлично работает! Даже специальные пробелы при этом сохраняются, что очень удобно.
 
Статус
Закрыто для дальнейших ответов.