Этот вопрос касается электронной таблицы Google. У меня есть таблица, которая делится с несколькими людьми. Я использую скрипт для обновления содержимого листа в качестве колодца. Вопрос в том, когда я запускаю скрипт, есть ли способ защитить лист от других, чтобы отредактировать его. И когда скрипт сделан, разрешение на редактирование может быть снова предоставлено пользователям?Как установить защиту листа во время выполнения сценария google
ответ
Я отвечаю только потому, что вижу, что у вас еще не было других, и я без проблем справился с этой проблемой. Хотя в моем случае цель была несколько иной в том, что мне нужен мой код для выполнения пользователями, когда они запускали сценарии, управляемые меню. Поскольку вам нужно только самостоятельно изменить защиту, вы можете обнаружить, что это работает для вас.
В любом случае, я могу предвидеть ситуацию, когда пользователи могут быть mid-edit при запуске вашего кода, что может оказаться для них разочарованием! То, что вы можете сделать, - это получить доступ к объекту User и связанным с ним методам, чтобы управлять ими. Прямо сейчас я не вижу, как вы это сделаете, не выталкивая их (тот же результат), но, возможно, кто-то еще услышит какие-то мысли. Взгляните на классе Spreadsheet для следующих целей:
- getEditors/removeEditor/addEditor
- getViewers/addViewers
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet
Ниже приводится функция, которую я сделал, который работал для меня (владелец), но не для пользователей - надеемся, что это поможет:
//Target = string name of sheet to change permissions for
//ProtectOn = boolean: TRUE = turn on protection
//function returns boolean representing previous permissions setting (for loops/verification)
function SheetProtectionSet(Target, ProtectOn) {
var g_wkbActive = SpreadsheetApp.getActiveSpreadsheet();
var wksTarget = g_wkbActive.getSheetByName(Target);
var permissions = wksTarget.getSheetProtection();
var cur_protection = permissions.isProtected();
permissions.setProtected(ProtectOn);
wksTarget.setSheetProtection(permissions);
return cur_protection;
}
- 1. предупреждения во время выполнения сценария
- 2. Как установить родительскую активность во время выполнения?
- 3. Установить настройку во время выполнения
- 4. Установить String.Format во время выполнения
- 5. Установить ImageView во время выполнения
- 6. Отображение экрана Splash во время выполнения сценария
- 7. Код. Выходная переменная во время выполнения сценария
- 8. Выходные сообщения PHP во время выполнения сценария
- 9. Показывать эховые сообщения во время выполнения сценария
- 10. элементы не определены во время выполнения сценария
- 11. .innerHtml обновления текста во время выполнения сценария
- 12. Предотвращение запуска сценария дважды во время выполнения
- 13. Как установить конфигурацию smtp во время выполнения
- 14. Как установить поля во время выполнения?
- 15. Как установить разрешение экрана Во время выполнения
- 16. Как установить цвета фона во время выполнения?
- 17. Как установить поле во время выполнения
- 18. Как установить роль поставщика во время выполнения?
- 19. Как установить язык iPhone во время выполнения
- 20. Как установить класс bean во время выполнения
- 21. Как установить имя секундомера во время выполнения?
- 22. observableCollection: как установить тип во время выполнения?
- 23. Как установить java.net.preferIPv4Stack = true во время выполнения?
- 24. Как установить ширину кнопки во время выполнения?
- 25. column.OptionsFilter.ImmediateUpdateAutoFilter, как установить его во время выполнения
- 26. Как установить Maven artifactId во время выполнения?
- 27. Как установить тип списка во время выполнения?
- 28. Google Maps Api v3 - установить положение карты во время выполнения
- 29. Как установить любые данные во время выполнения скрипта?
- 30. Установить размер вектора векторов во время выполнения
Да, это действительно работает для моей потребности. Спасибо чувак! – swimmingwood
Отлично! рад, что это сработало для вас :) – Tim