Почему функция onEdit в Google Sheets не выполняется? - PullRequest
1 голос
/ 02 апреля 2020

У меня есть электронная таблица Google Sheets, которая работает уже несколько месяцев и не имеет связанных с ней скриптов. Недавно я решил записать дату изменения в строку, и что функция onEdit () могла бы сделать это для меня.

На экране электронной таблицы я выбрал «Инструменты / Редактор сценариев», который выскочил. создать пустой скрипт с функцией myFunction ().

Я изменил myFunction () на:

function onEdit(e) {
Logger.log("Something was edited.");  
}

Затем нажал Сохранить и принял имя проекта по умолчанию (проект без названия). Я также проверил это (Выполнить), и он создал запись в журнале.

Теперь, когда я редактирую любое значение на листе или добавляю новую строку, я ожидал бы запись в журнале. Но ничего не появляется.

Я пропустил шаг? Что нужно сделать, чтобы запустить действительный onEdit ()?

Ответы [ 3 ]

2 голосов
/ 02 апреля 2020

Ваши журналы будут доступны в View> Stackdriver logging. Вид> Журналы покажет только журналы, выполненные в текущем сеансе (нажав «Выполнить»). Использование console класса является предпочтительным.

1 голос
/ 02 апреля 2020

Ответ:

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

Надеюсь, это вам пригодится!

1 голос
/ 02 апреля 2020

Отказ от ответственности: я не слишком часто работаю с Редактором сценариев в Google Sheets или с самими Google Sheets. Возможно, есть лучший способ выполнить это sh.


По моему опыту, я обнаружил, что вам также необходимо явно добавить триггер в проект редактора сценариев, чтобы события запускались правильно .

  1. На вашем листе откройте проект скриптов приложений, выбрав Инструменты > Редактор скриптов пункт меню.
  2. Из полученного На экране проекта «Сценарий приложений» выберите Изменить > Параметр меню «Триггеры текущего проекта ».
  3. В появившемся окне «Триггеры» щелкните + Добавить триггер кнопка (появилась в правом нижнем углу представленного мне интерфейса; ваш пробег может отличаться).
  4. В полученном модале выберите следующие параметры:
    1. «Выберите, какую функцию запустить» - выберите метод onEdit, чтобы выполнить метод, который вы написали.
    2. «Выберите, какое развертывание должно выполняться» - я выбрал опцию «Голова», но я думаю, что ваш пробег будет сильно отличаться если вы решили использовать здесь более продвинутые функции развертывания.
    3. «Выбрать источник события» - установите для этого параметра «Из электронной таблицы».
    4. «Выберите тип события» - установите для этого параметра «При редактировании».
    5. «Настройки уведомлений о сбоях» - установите для этого параметра любую настройку. Наконец, нажмите кнопку «Сохранить».

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

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