Как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Проблема и обходное решение:
В своем сценарии вы помещаете и получаете значения, используя PropertiesService. В этом случае значения числового типа ставятся как строковый тип. Я думаю, что это является причиной вашей проблемы.
Когда открывается электронная таблица, row
и column
извлекаются из PropertiesService. В этом случае row
и column
являются строковыми значениями. При этом возникает ошибка в var cell = sheet.getRange(row,column);
в функции onOpen
. Потому что row
и column
не являются числовыми значениями.
Я думаю, что когда вы выключаете среду V8 в редакторе сценариев, var cell = sheet.getRange(row,column);
работает. (Из сценария вашей общей таблицы я подумал, что вы используете сценарий с V8.) Но когда используется среда выполнения V8, возникает ошибка. Я думаю, что это может быть спецификацией V8.
Итак, чтобы избежать этой проблемы, как насчет следующей модификации?
Модифицированный скрипт:
От:
var cell = sheet.getRange(row,column);
Кому:
var cell = sheet.getRange(Number(row), Number(column));
или
Отключить среду выполнения V8 в редакторе сценариев.
Ссылка:
Если я неправильно понял ваш вопрос, и это не то направление, которое вам нужно, я приношу свои извинения.