[ID CC-CC2022] Как получить номер строки под курсором в текщей ячейке

  • Автор темы Автор темы hulk1776
  • Дата начала Дата начала

hulk1776

Топикстартер
15 лет на форуме
Сообщения
738
Реакции
21
Вроде бы простая задачка, узнать номер строки в ячейке, где находится курсор:
Код:
var myTable = app.selection[0]; // Получение выбранной таблицы
var myCell = app.selection[0].parent; // Получение выделенной ячейки
//var myText = myCell.contents; // Получение текстового содержимого ячейки
var myInsertionPoint = myCell.insertionPoints[0]; // Получение точки вставки (курсора)
//~ var myLineIndex = myInsertionPoint.lines[0].index; // Получение индекса строки
var myLineIndex = myCell.lines; // Получение количества строк
А индекс строки никак не найду, откуда вытягивать. Хочу вырезать текст от конца строки (где курсор) до начала ячейки. Мб кто-то знает?
 
Как узнать номер строки не знаю '%)' но выделить от линии (где курсор) до начала ячейки вроде так получается:
JavaScript:
// открыт ли документ
if (app.documents.length > 0) {
  // выделено ли что-то
  if (app.selection.length > 0) {
    // то что выделено курсор ли
    if (app.selection[0].constructor.name == "InsertionPoint") {
      var ip = app.selection[0]; // ip - insertionPoint - курсор
      var cell = app.selection[0].parent; // cell - ячейка
      var s = cell.lines[0] // s - search --- тут первая линия в ячейке
      var c = cell.characters[(ip.index)]; // c - character --- символ с "курсорным" индексом
      try {
        app.select(c.lines[0], SelectionOptions.REPLACE_WITH); // "подхватываем" линию с курсором*
        app.select(s, SelectionOptions.ADD_TO); // добавляем к ней до "верха"
      } catch (e) {
        alert("Что-то пошло не так");
      }
    } // ip
  } // selection
} // doc

// * Если есть "многолинейные" абзацы, то может быть лучше прописать не lines. а paragraphs, 
// чтобы подхватывался весь "курсорный" абзац
 
  • Спасибо
Реакции: hulk1776
Предложенный вариант вполне годится. Как раз подхватывается вся строка, где курсор (и все, что выше). Большое спасибо!