@PiShim

Как выделить всю строку через Скрипт?

Сначала писал скрипт на цветное форматирование строки в таблице, но использую скрипт (см.ниже). Слетает все остальное форматирование. Поэтому пришла идея на создания скрипта (по клику в любую ячейку таблицы автоматически используется комбинация клавиш Shift+Space). Но не мог никак написать подобное событие.
function onSelectionChange() {
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let ws = ss.getActiveSheet();
  let activeCell = ws.getActiveCell().getRow();
  ws.getRange(2, 1, 1000, ws.getLastColumn()).clearFormat();
  ws.getRange(activeCell, 1, 1, ws.getLastColumn()).setBackground("yellow")
}
  • Вопрос задан
  • 844 просмотра
Решения вопроса 1
ProgrammerForever
@ProgrammerForever Куратор тега Google Apps Script
Учитель, автоэлектрик, программист, музыкант
Чтобы не слетало форматирование, не используйте
ws.getRange(2, 1, 1000, ws.getLastColumn()).clearFormat();

Чтобы забиндить скрипт на сочетание клавиш - пишите макрос и назначайте. Там сочетания вида Ctrl+Alt+Shift+N
Или можно подправить appsscript.json
//...
  "sheets": {
    "macros": [{
      "menuName": "macros1",
      "functionName": "myFunction",
      "defaultShortcut": "Ctrl+Shift+Alt+1"
    }]
  }
  //...

Также возможно что просто код не выполняется(ошибка), попробуйте это:
function onSelectionChange() {
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let as = ss.getActiveSheet();
  let ac = as.getActiveCell();
  let row = ac.getRow();

  as.getRange(row+":"+row).setBackground("yellow");
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы