Избранное »

22.09.2014 – 07:27 | 2 комментария | 27 557 views

Здравствуйте все, кто работает в Индизайне!
Извещаем вас о том, что на youtube.com работает канал «InDesign Мастерская вёрстки». Там уже размещены более 70 видео с полным описанием как работать с программой DoTextOK. Другие интересные темы, касающиеся работы …

Читать полностью »
Работа в InDesign

Хитрости и секреты, приемы работы, уроки

Новая версия!

Особенности новой версии Индизайна

Плагины

Описание плагинов, информация о плагинах для работы с Adobe InDesign

Скрипты

Готовые к использованию скрипты для Adobe InDesign

Скриптинг

Описание языка, приёмов и методов программирования для Adobe InDesign

Home » Скриптинг

JavaScript: выделяем слово

Добавлено на 06.02.2020 – 12:23Без комментариев | 486 views

Как оказалось, выделение скриптом слова, в котором стоит курсор, не такая уж простая задача и не у каждого получится сделать это слёту. Мы нашли в сети оригинальное решение и решили им поделиться с вами. Автор — Keith Gilbert (сайт здесь).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// check for a doc
if (app.documents.length > 0) {
  // check for selection
  if (app.selection.length > 0) {
    // if it is a insertinpoint
    if (app.selection[0].constructor.name == "InsertionPoint") {
      var ip = app.selection[0]; // isolate insertionPoint
      var story = app.selection[0].parentStory; // isolate story
      // get two characters before and after
      // we need two because there is a whitespace
      var twoCharactersBefore = story.characters[(ip.index - 2)];
      var twoCharactersAfter = story.characters[(ip.index + 2)];
      // catch the error that occurs if we are at the end
      try {
        // if not select the word
        app.select(twoCharactersBefore.words[0], SelectionOptions.REPLACE_WITH);
      } catch (e) {
        $.writeln("The insertion point is at the end of the text");
      }
      // catch the error that occurs if we are at the start
      try {
          // if not select the word
        app.select(twoCharactersAfter.words[0], SelectionOptions.ADD_TO);
      } catch (e) {
        $.writeln("The insertion point is at the start of the text");
      }
    } // ip check
  } // selection check
} // doc check

Хорошего кода!

Оставить комментарий!

Вы должны быть в системе чтобы оставить комментарий.