Ищете сценарий onEdit, который можно использовать для изменения цвета ячейки листов Google при ее редактировании? - PullRequest
1 голос
/ 24 октября 2019

Я использую листы Google для мониторинга проекта, в котором участвуют несколько пользователей. Я хотел бы использовать команду onEdit, чтобы изменить цвет ячейки на желтый при редактировании содержимого. Ниже приведен код, с которым я работаю. Однако я не могу заставить его работать. Кодирование для меня все еще ново, поэтому мы будем благодарны за любые советы.

function onEdit1(e)
{
  var range=e.range;
  var column=range.getColumn();
  if(column>3 && column<27)
  {
    range.setBackground('#ffff00')'
  }
}

1 Ответ

2 голосов
/ 24 октября 2019
function onEdit(e){
  if(e.range.getSheet().getName()!="Sheet1")return;
  if(e.range.columnStart>3 && e.range.columnStart<27) {
    e.range.setBackground('#ffff00');
  }
}

Я также добавил строку, чтобы ограничить ее только одним листом. Вы можете изменить имя этого листа или даже полностью удалить его, если хотите, чтобы он работал на всей вашей электронной таблице.

Многие новые программисты пытаются запустить эти функции onEdit (e) из редактора сценариев. ,К сожалению, это не работает, поскольку ожидается, что параметр e будет заполнен триггером события. Без объекта события вы, как правило, получаете сообщение об ошибке, например Невозможно прочитать диапазон свойств из неопределенного, поскольку e не был заполнен триггером события.

Я проверяю их, проверяя, что я редактирую правильный лист и исправляюrange, и я использую функцию e.source.toast (), чтобы предоставить мне обратную связь, как в console.log ().

Если вы хотите узнать больше об объекте события, попробуйте добавитьLogger.log (JSON.stringify (е));на первую строку после объявления функции. А затем запустите его, отредактировав соответствующий лист соответствующим образом и перейдите к просмотру журнала, чтобы увидеть результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...