У меня есть лист, который защищен в некоторой области, например V1:V12
. Это, однако, не позволяет некоторым функциям скрипта работать в совершенно другом диапазоне, например .getLastRow()
, getRange("K5:K100").clear({contentsOnly: true, skipFilteredRows: true})
, sheet.deleteRows(15,15)
. Также получение значения в защищенном диапазоне getRange("V3").getValue
также не может работать. Все они дают ошибку, что вам нужно разрешение для редактирования диапазона. Я закончил тем, что снял все средства защиты, и скрипт работал нормально.
Просто чтобы прояснить ситуацию, я создаю защиту из учетной записи владельца. Определенные функции скрипта не могут выполняться для учетной записи редактора после того, как диапазоны в защищенном листе. Есть много других функций скрипта, которые по-прежнему работают правильно. Скрипт корректно запускается для учетной записи владельца (конечно). Я удалил защиту, используя учетную запись владельца, после этого скрипт прекрасно работает для редакторов.
Мне действительно нужно защитить лист (чтобы пользователь не испортил функциональность), есть ли способисправить это?