Доступ к защищенным диапазонам и листам, а также их изменение. Защищенный диапазон может защищать как статический диапазон ячеек, так и именованный диапазон. Защищенный лист может включать незащищенные области. Для электронных таблиц, созданных в более старых версиях Google Sheets, используйте вместо этого класс .Page Protection
// Protect range A1:B10, then remove all other users from the list of editors. const ss = SpreadsheetApp.getActive(); const range = ss.getRange('A1:B10'); const protection = range.protect().setDescription('Sample protected range'); // Ensure the current user is an editor before removing others. Otherwise, if // the user's edit permission comes from a group, the script throws an exception // upon removing the group. const me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
// Remove all range protections in the spreadsheet that the user has permission // to edit. const ss = SpreadsheetApp.getActive(); const protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (let i = 0; i < protections.length; i++) { const protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
// Protect the active sheet, then remove all other users from the list of // editors. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.protect().setDescription('Sample protected sheet'); // Ensure the current user is an editor before removing others. Otherwise, if // the user's edit permission comes from a group, the script throws an exception // upon removing the group. const me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
Методы
| Метод | Тип возвращаемого значения | Краткое описание |
|---|---|---|
add Editor(emailAddress) | Protection | Добавляет указанного пользователя в список редакторов для защищаемого листа или диапазона. |
add Editor(user) | Protection | Добавляет указанного пользователя в список редакторов для защищаемого листа или диапазона. |
add Editors(emailAddresses) | Protection | Добавляет указанный массив пользователей в список редакторов для защищаемого листа или диапазона. |
add Target Audience(audienceId) | Protection | Добавляет указанную целевую аудиторию в качестве редактора защищаемого диапазона. |
can Domain Edit() | Boolean | Определяет, имеют ли все пользователи в домене, которому принадлежит электронная таблица, разрешение на редактирование защищенного диапазона или листа. |
can Edit() | Boolean | Определяет, имеет ли пользователь разрешение на редактирование защищенного диапазона или листа. |
get Description() | String | Получает описание защищаемого диапазона или листа. |
get Editors() | User[] | Получает список редакторов для защищаемого диапазона или листа. |
get Protection Type() | Protection Type | Определяет тип защищаемой зоны: либо RANGE , либо SHEET . |
get Range() | Range | Определяет защищаемый диапазон. |
get Range Name() | String|null | Получает имя защищаемого диапазона, если он связан с именованным диапазоном. |
get Target Audiences() | Target Audience[] | Возвращает идентификаторы целевых аудиторий, которые могут редактировать защищаемый диапазон. |
get Unprotected Ranges() | Range[] | Получает массив незащищенных диапазонов внутри защищенного листа. |
is Warning Only() | Boolean | Определяет, используется ли в охраняемой зоне защита на основе предупреждающих сигналов. |
remove() | void | Снимает защиту с диапазона или листа. |
remove Editor(emailAddress) | Protection | Удаляет указанного пользователя из списка редакторов для защищаемого листа или диапазона. |
remove Editor(user) | Protection | Удаляет указанного пользователя из списка редакторов для защищаемого листа или диапазона. |
remove Editors(emailAddresses) | Protection | Удаляет указанный массив пользователей из списка редакторов для защищаемого листа или диапазона. |
remove Target Audience(audienceId) | Protection | Удаляет указанную целевую аудиторию из числа редакторов защищаемого диапазона. |
set Description(description) | Protection | Задает описание защищаемого диапазона или листа. |
set Domain Edit(editable) | Protection | Определяет, имеют ли все пользователи в домене, которому принадлежит электронная таблица, разрешение на редактирование защищенного диапазона или листа. |
set Named Range(namedRange) | Protection | Связывает защищаемый диапазон с существующим именованным диапазоном. |
set Range(range) | Protection | Изменяет диапазон защищаемых областей. |
set Range Name(rangeName) | Protection | Связывает защищаемый диапазон с существующим именованным диапазоном. |
set Unprotected Ranges(ranges) | Protection | Снимает защиту с заданного массива диапазонов внутри защищенного листа. |
set Warning Only(warningOnly) | Protection | Определяет, используется ли для данного защищаемого диапазона защита на основе предупреждений. |
Подробная документация
add Editor(emailAddress)
Добавляет указанного пользователя в список редакторов для защищенного листа или диапазона. Этот метод не предоставляет пользователю автоматически разрешение на редактирование самой электронной таблицы; для этого дополнительно вызовите Spreadsheet.addEditor(emailAddress) .
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Adds an editor to the spreadsheet using an email address. // TODO(developer): Replace the email address with a valid email. ss.addEditor('cloudysanfrancisco@gmail.com'); // Gets a sheet by its name and protects it. const sheet = ss.getSheetByName('Sheet1'); const sampleProtectedSheet = sheet.protect(); // Adds an editor of the protected sheet using an email address. // TODO(developer): Replace the email address with a valid email. sampleProtectedSheet.addEditor('cloudysanfrancisco@gmail.com'); // Gets the editors of the protected sheet. const editors = sampleProtectedSheet.getEditors(); // Logs the editors' email addresses to the console. for (const editor of editors) { console.log(editor.getEmail()); }
Параметры
| Имя | Тип | Описание |
|---|---|---|
email Address | String | Адрес электронной почты пользователя, который необходимо добавить. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
add Editor(user)
Добавляет указанного пользователя в список редакторов для защищенного листа или диапазона. Этот метод не предоставляет пользователю автоматически разрешение на редактирование самой электронной таблицы; для этого дополнительно вызовите Spreadsheet.addEditor(user) .
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Adds the active user as an editor of the protected sheet. sampleProtectedSheet.addEditor(Session.getActiveUser()); // Gets the editors of the protected sheet. const editors = sampleProtectedSheet.getEditors(); // Logs the editors' email addresses to the console. for (const editor of editors) { console.log(editor.getEmail()); }
Параметры
| Имя | Тип | Описание |
|---|---|---|
user | User | Изображение пользователя, которого нужно добавить. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
add Editors(emailAddresses)
Добавляет указанный массив пользователей в список редакторов для защищенного листа или диапазона. Этот метод не предоставляет пользователям автоматически разрешение на редактирование самой электронной таблицы; для этого дополнительно вызовите Spreadsheet.addEditors(emailAddresses) .
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Creates variables for the email addresses to add as editors. // TODO(developer): Replace the email addresses with valid ones. const TEST_EMAIL_1 = 'cloudysanfrancisco@gmail.com'; const TEST_EMAIL_2 = 'baklavainthebalkans@gmail.com'; // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Adds editors to the protected sheet using the email address variables. sampleProtectedSheet.addEditors([TEST_EMAIL_1, TEST_EMAIL_2]); // Gets the editors of the protected sheet. const editors = sampleProtectedSheet.getEditors(); // Logs the editors' email addresses to the console. for (const editor of editors) { console.log(editor.getEmail()); }
Параметры
| Имя | Тип | Описание |
|---|---|---|
email Addresses | String[] | Массив адресов электронной почты пользователей, которых нужно добавить. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
add Target Audience(audienceId)
Добавляет указанную целевую аудиторию в качестве редактора защищаемого диапазона.
Параметры
| Имя | Тип | Описание |
|---|---|---|
audience Id | String | Идентификатор целевой аудитории для добавления. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
can Domain Edit()
Определяет, имеют ли все пользователи в домене, которому принадлежит электронная таблица, разрешение на редактирование защищаемого диапазона или листа. Генерирует исключение, если у пользователя нет разрешения на редактирование защищаемого диапазона или листа.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Logs whether domain users have permission to edit the protected sheet to the // console. console.log(sampleProtectedSheet.canDomainEdit());
Возвращаться
Boolean — true , если все пользователи в домене, которому принадлежит электронная таблица, имеют разрешение на редактирование защищенного диапазона или листа; false , если нет.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
can Edit()
Определяет, имеет ли пользователь разрешение на редактирование защищенного диапазона или листа. Владелец электронной таблицы всегда может редактировать защищенные диапазоны и листы.
// Remove all range protections in the spreadsheet that the user has permission // to edit. const ss = SpreadsheetApp.getActive(); const protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (let i = 0; i < protections.length; i++) { const protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
Возвращаться
Boolean — true если у пользователя есть разрешение на редактирование защищенного диапазона или листа; false если нет.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Description()
Получает описание защищаемого диапазона или листа. Если описание не указано, метод возвращает пустую строку.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet and sets the description. const sampleProtectedSheet = sheet.protect().setDescription('Sample sheet is protected'); // Gets the description of the protected sheet and logs it to the console. const sampleProtectedSheetDescription = sampleProtectedSheet.getDescription(); console.log(sampleProtectedSheetDescription);
Возвращаться
String — описание защищаемого диапазона или листа, или пустая строка, если описание не указано.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Editors()
Получает список редакторов для защищаемого диапазона или листа. Генерирует исключение, если у пользователя нет разрешения на редактирование защищаемого диапазона или листа.
// Protect the active sheet, then remove all other users from the list of // editors. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.protect().setDescription('Sample protected sheet'); // Ensure the current user is an editor before removing others. Otherwise, if // the user's edit permission comes from a group, the script throws an exception // upon removing the group. const me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
Возвращаться
User[] — массив пользователей, имеющих разрешение на редактирование защищенного диапазона или листа.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Protection Type()
Определяет тип защищаемой зоны: либо RANGE , либо SHEET .
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Gets the type of the protected area. const protectionType = sampleProtectedSheet.getProtectionType(); // Logs 'SHEET'to the console since the type of the protected area is a sheet. console.log(protectionType.toString());
Возвращаться
Protection Type — это тип защищаемой территории, либо RANGE , либо SHEET .
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Range()
Получает защищаемый диапазон. Если защита применяется к листу, а не к диапазону, этот метод возвращает диапазон, охватывающий весь лист.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Gets the range 'A1:B10' of Sheet1. const range = sheet.getRange('A1:B10'); // Makes cells A1:B10 a protected range. const sampleProtectedRange = range.protect(); // Gets the protected ranges on the sheet. const protections = sheet.getProtections(SpreadsheetApp.ProtectionType.RANGE); // Logs the A1 notation of the first protected range on the sheet. console.log(protections[0].getRange().getA1Notation());
Возвращаться
Range — территория, которая находится под охраной.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Range Name()
Получает имя защищаемого диапазона, если он связан с именованным диапазоном. Возвращает null если защита не связана с именованным диапазоном. Обратите внимание, что скрипты должны явно вызывать set Range Name(rangeName) , чтобы связать защищаемый диапазон с именованным диапазоном; вызов Range.protect() для создания защиты из Range , который случайно является именованным диапазоном, без вызова set Range Name(rangeName) , недостаточен для их связывания. Однако создание защищаемого диапазона из именованного диапазона в пользовательском интерфейсе Google Sheets автоматически связывает их.
// Protect a named range in a spreadsheet and log the name of the protected // range. const ss = SpreadsheetApp.getActive(); const range = ss.getRange('A1:B10'); const protection = range.protect(); ss.setNamedRange('Test', range); // Create a named range. protection.setRangeName( 'Test'); // Associate the protection with the named range. Logger.log( protection.getRangeName()); // Verify the name of the protected range.
Возвращаться
String|null — имя защищаемого именованного диапазона или null , если защищаемый диапазон не связан с именованным диапазоном.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Target Audiences()
Возвращает идентификаторы целевых аудиторий, которые могут редактировать защищаемый диапазон.
Возвращаться
Target Audience[] — Массив идентификаторов целевых аудиторий.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Unprotected Ranges()
Получает массив незащищенных диапазонов внутри защищенного листа. Если объект Protection соответствует защищенному диапазону, а не защищенному листу, этот метод возвращает пустой массив. Чтобы изменить незащищенные диапазоны, используйте set Unprotected Ranges(ranges) для установки нового массива диапазонов; чтобы повторно защитить весь лист, установите пустой массив.
// Unprotect cells E2:F5 in addition to any other unprotected ranges in the // protected sheet. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.protect(); const unprotected = protection.getUnprotectedRanges(); unprotected.push(sheet.getRange('E2:F5')); protection.setUnprotectedRanges(unprotected);
Возвращаться
Range[] — массив незащищенных диапазонов внутри защищенного листа
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
is Warning Only()
Определяет, используется ли в защищаемой области защита на основе предупреждений. Защита на основе предупреждений означает, что каждый пользователь может редактировать данные в этой области, за исключением случаев, когда редактирование сопровождается предупреждением с просьбой подтвердить редактирование. По умолчанию защищаемые диапазоны или листы не используют защиту на основе предупреждений. Чтобы переключиться в режим предупреждения, используйте set Warning Only(warningOnly) .
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Sets the warning status for the protected sheet as true. sampleProtectedSheet.setWarningOnly(true); const protectedSheetWarningStatus = sampleProtectedSheet.isWarningOnly(); // Logs the warning status of the protected sheet to the console. console.log(protectedSheetWarningStatus);
Возвращаться
Boolean — true , если защищаемый диапазон или лист использует только защиту на основе предупреждений.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove()
Снимает защиту с диапазона или листа.
// Remove all range protections in the spreadsheet that the user has permission // to edit. const ss = SpreadsheetApp.getActive(); const protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (let i = 0; i < protections.length; i++) { const protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
// Remove sheet protection from the active sheet, if the user has permission to // edit it. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0]; if (protection?.canEdit()) { protection.remove(); }
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Editor(emailAddress)
Удаляет указанного пользователя из списка редакторов для защищенного листа или диапазона. Обратите внимание, что если пользователь является членом группы Google, имеющей права на редактирование, или если все пользователи в домене имеют права на редактирование, пользователь все равно сможет редактировать защищенную область. Ни владельца электронной таблицы, ни текущего пользователя удалить нельзя.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Creates a variable for an email address. // TODO(developer): Replace the email address with a valid one. const TEST_EMAIL = 'baklavainthebalkans@gmail.com'; // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Adds an editor to the protected sheet using the email address variable. sampleProtectedSheet.addEditor(TEST_EMAIL); // Removes the editor from the protected sheet using the email address variable. sampleProtectedSheet.removeEditor(TEST_EMAIL); // Gets the editors of the protected sheet. const editors = sampleProtectedSheet.getEditors(); // Logs the editors' email addresses to the console. for (const editor of editors) { console.log(editor.getEmail()); }
Параметры
| Имя | Тип | Описание |
|---|---|---|
email Address | String | Адрес электронной почты пользователя, которого нужно удалить. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Editor(user)
Удаляет указанного пользователя из списка редакторов для защищенного листа или диапазона. Обратите внимание, что если пользователь является членом группы Google, имеющей права на редактирование, или если все пользователи в домене имеют права на редактирование, пользователь по-прежнему сможет редактировать защищенную область. Ни владелец электронной таблицы, ни текущий пользователь не могут быть удалены.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets a sheet by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Removes the active user from the editors of the protected sheet. sampleProtectedSheet.removeEditor(Session.getActiveUser()); // Gets the editors of the protected sheet. const editors = sampleProtectedSheet.getEditors(); // Logs the editors' email addresses to the console. for (const editor of editors) { console.log(editor.getEmail()); }
Параметры
| Имя | Тип | Описание |
|---|---|---|
user | User | Изображение пользователя, которое нужно удалить. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Editors(emailAddresses)
Удаляет указанный массив пользователей из списка редакторов для защищенного листа или диапазона. Обратите внимание, что если кто-либо из пользователей является членом группы Google с правами на редактирование, или если все пользователи в домене имеют права на редактирование, эти пользователи по-прежнему смогут редактировать защищенную область. Ни владелец электронной таблицы, ни текущий пользователь не могут быть удалены.
// Protect the active sheet, then remove all other users from the list of // editors. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.protect().setDescription('Sample protected sheet'); // Ensure the current user is an editor before removing others. Otherwise, if // the user's edit permission comes from a group, the script throws an exception // upon removing the group. const me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
Параметры
| Имя | Тип | Описание |
|---|---|---|
email Addresses | String[] | Массив адресов электронной почты пользователей, которых нужно удалить. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Target Audience(audienceId)
Удаляет указанную целевую аудиторию из числа редакторов защищаемого диапазона.
Параметры
| Имя | Тип | Описание |
|---|---|---|
audience Id | String | Идентификатор целевой аудитории, которую нужно удалить. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Description(description)
Задает описание защищаемого диапазона или листа.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets the sheet 'Sheet1' by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet. const sampleProtectedSheet = sheet.protect(); // Sets the sheet description to 'Sheet1 is protected.' sampleProtectedSheet.setDescription('Sheet1 is protected'); // Gets the description of the protected sheet. const sampleProtectedSheetDescription = sampleProtectedSheet.getDescription(); // Logs the description of the protected sheet to the console. console.log(sampleProtectedSheetDescription);
Параметры
| Имя | Тип | Описание |
|---|---|---|
description | String | Описание охраняемого участка или зоны. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Domain Edit(editable)
Определяет, имеют ли все пользователи в домене, которому принадлежит электронная таблица, разрешение на редактирование защищенного диапазона или листа. Обратите внимание, что любые пользователи, имеющие явное разрешение на редактирование, могут редактировать защищенную область независимо от этой настройки. Генерирует исключение, если электронная таблица не принадлежит домену Google Workspace (то есть, если она принадлежит учетной записи gmail.com).
Параметры
| Имя | Тип | Описание |
|---|---|---|
editable | Boolean | true указывает, что все пользователи в домене, которому принадлежит электронная таблица, должны иметь разрешение на редактирование защищенного диапазона или листа; false — в противном случае. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Named Range(namedRange)
Этот метод связывает защищаемый диапазон с существующим именованным диапазоном. Если именованный диапазон охватывает область, отличную от текущего защищаемого диапазона, этот метод перемещает защиту так, чтобы она охватывала именованный диапазон. Именованный диапазон должен находиться на том же листе, что и текущий защищаемый диапазон. Обратите внимание, что скрипты должны явно вызывать этот метод для связывания защищаемого диапазона с именованным диапазоном; вызов Range.protect() для создания защиты из Range , который случайно является именованным диапазоном, без вызова set Range Name(rangeName) недостаточен для их связывания. Однако создание защищаемого диапазона из именованного диапазона в пользовательском интерфейсе Google Sheets автоматически связывает их.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Protects cells A1:D10 on Sheet1. const sheet = ss.getSheetByName('Sheet1'); const protectedRange = sheet.getRange('A1:D10').protect(); // Logs the current protected range, A1:D10. console.log(protectedRange.getRange().getA1Notation()); // Creates a named range for cells E1:J10 called 'NewRange.' const newRange = sheet.getRange('E1:J10'); ss.setNamedRange('NewRange', newRange); const namedRange = ss.getNamedRanges()[0]; // Updates the protected range to the named range, 'NewRange.' // This updates the protected range on Sheet1 from A1:D10 to E1:J10. protectedRange.setNamedRange(namedRange); // Logs the updated protected range to the console. console.log(protectedRange.getRange().getA1Notation());
Параметры
| Имя | Тип | Описание |
|---|---|---|
named Range | Named Range | Существующий именованный диапазон, который необходимо связать с защищаемым диапазоном. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Range(range)
Изменяет защищаемый диапазон. Если заданный диапазон охватывает область, отличную от текущего защищаемого диапазона, этот метод перемещает защиту на новый диапазон.
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Protects cells A1:D10 on Sheet1 of the spreadsheet. const sheet = ss.getSheetByName('Sheet1'); const protectedRange = sheet.getRange('A1:D10').protect(); // Logs the original protected range, A1:D10, to the console. console.log(protectedRange.getRange().getA1Notation()); // Gets the range E1:J10. const newRange = sheet.getRange('E1:J10'); // Updates the protected range to E1:J10. protectedRange.setRange(newRange); // Logs the updated protected range to the console. console.log(protectedRange.getRange().getA1Notation());
Параметры
| Имя | Тип | Описание |
|---|---|---|
range | Range | Новая линейка средств защиты от редактирования. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Range Name(rangeName)
Этот метод связывает защищаемый диапазон с существующим именованным диапазоном. Если именованный диапазон охватывает область, отличную от текущего защищаемого диапазона, этот метод перемещает защиту так, чтобы она охватывала именованный диапазон. Именованный диапазон должен находиться на том же листе, что и текущий защищаемый диапазон. Обратите внимание, что скрипты должны явно вызывать этот метод для связывания защищаемого диапазона с именованным диапазоном; вызов Range.protect() для создания защиты из Range , который случайно является именованным диапазоном, без вызова set Range Name(rangeName) недостаточен для их связывания. Однако создание защищаемого диапазона из именованного диапазона в пользовательском интерфейсе Google Sheets автоматически связывает их.
// Protect a named range in a spreadsheet and log the name of the protected // range. const ss = SpreadsheetApp.getActive(); const range = ss.getRange('A1:B10'); const protection = range.protect(); ss.setNamedRange('Test', range); // Create a named range. protection.setRangeName( 'Test'); // Associate the protection with the named range. Logger.log( protection.getRangeName()); // Verify the name of the protected range.
Параметры
| Имя | Тип | Описание |
|---|---|---|
range Name | String | Название защищаемого диапазона. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Unprotected Ranges(ranges)
Снимает защиту с заданного массива диапазонов внутри защищенного листа. Генерирует исключение, если объект Protection соответствует защищенному диапазону, а не защищенному листу, или если какой-либо из диапазонов не находится на защищенном листе. Чтобы изменить незащищенные диапазоны, задайте новый массив диапазонов; чтобы снова защитить весь лист, задайте пустой массив.
// Protect the active sheet except B2:C5, then remove all other users from the // list of editors. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.protect().setDescription('Sample protected sheet'); const unprotected = sheet.getRange('B2:C5'); protection.setUnprotectedRanges([unprotected]); // Ensure the current user is an editor before removing others. Otherwise, if // the user's edit permission comes from a group, the script throws an exception // upon removing the group. const me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
Параметры
| Имя | Тип | Описание |
|---|---|---|
ranges | Range[] | Укажите массив диапазонов, которые следует оставить незащищенными внутри защищенного листа. |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Warning Only(warningOnly)
Определяет, используется ли для защищаемого диапазона защита на основе предупреждений. Защита на основе предупреждений означает, что каждый пользователь может редактировать данные в этой области, за исключением случаев, когда редактирование сопровождается предупреждением с просьбой подтвердить редактирование. По умолчанию защищаемые диапазоны или листы не используют защиту на основе предупреждений. Чтобы проверить состояние предупреждений, используйте функцию is Warning Only() .
// Opens the spreadsheet file by its URL. If you created your script from within // a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet() // instead. // TODO(developer): Replace the URL with your own. const ss = SpreadsheetApp.openByUrl( 'https://docs.google.com/spreadsheets/d/abc123456/edit', ); // Gets the sheet 'Sheet1' by its name. const sheet = ss.getSheetByName('Sheet1'); // Protects the sheet and sets the protection to warning-based. const sampleProtectedSheet = sheet.protect().setWarningOnly(true); // Logs whether the protected sheet is warning-based to the console. console.log(sampleProtectedSheet.isWarningOnly());
Параметры
| Имя | Тип | Описание |
|---|---|---|
warning Only | Boolean |
Возвращаться
Protection — объект, представляющий собой параметры защиты для последовательного применения.
Авторизация
Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets