Скрипты не работают для общих пользователей в Google Sheets - PullRequest
0 голосов
/ 14 декабря 2018

Я создал электронную таблицу для себя и своих коллег, чтобы иметь возможность редактировать в режиме реального времени, которой я уже поделился с ними.Я добавил функции для отметки времени, отображаемой в 2 столбцах после редактирования определенных ячеек, и сценария однократной записи, который использует вспомогательный лист.У меня проблема в том, что скрипты не будут запускаться ни для кого, кроме меня, когда я защищаю основной лист или вспомогательный лист.Может кто-нибудь помочь мне понять, как защитить оба листа, но оставить определенные ячейки на главном листе открытыми для редактирования?

1 Ответ

0 голосов
/ 15 декабря 2018

Эта функция добавляет дату в столбец B, когда столбец C редактируется вручную на листе с именем «Sheet1».Обратите внимание, что триггер onEdit не будет работать, если ячейка программно редактируется:

function onEdit(e) {
  if(e.source.getActiveSheet().getName() == "Sheet1") { 
    if(e.range.columnStart == 3 && e.range.rowStart > 1) {
      var d = Utilities.formatDate(new Date(), "GMT+1", "dd.MM.yyyy");
      e.range.offset(0, -(e.range.columnStart - 2)).setValue(d);
    }
  }
}

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

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

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