Permite acceder a rangos y hojas protegidos. Un rango protegido puede proteger un valor estático
un rango de celdas o un rango con nombre. Una hoja protegida puede incluir regiones desprotegidas. Para
las hojas de cálculo creadas con la versión anterior de Hojas de cálculo de Google, usa la
en su lugar.
PageProtection
// Protect range A1:B10, then remove all other users from the list of editors. var ss = SpreadsheetApp.getActive(); var range = ss.getRange('A1:B10'); var 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. var 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. var ss = SpreadsheetApp.getActive(); var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (var i = 0; i < protections.length; i++) { var protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
// Protect the active sheet, then remove all other users from the list of editors. var sheet = SpreadsheetApp.getActiveSheet(); var 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. var me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
Métodos
Método | Tipo de datos que se muestra | Descripción breve |
---|---|---|
addEditor(emailAddress) | Protection | Agrega el usuario determinado a la lista de editores de la hoja o el rango protegidos. |
addEditor(user) | Protection | Agrega el usuario determinado a la lista de editores de la hoja o el rango protegidos. |
addEditors(emailAddresses) | Protection | Agrega el array determinado de usuarios a la lista de editores de la hoja o el rango protegidos. |
addTargetAudience(audienceId) | Protection | Agrega el público objetivo especificado como editor del rango protegido. |
canDomainEdit() | Boolean | Determina si todos los usuarios del dominio propietario de la hoja de cálculo tienen permiso para editar el rango o la hoja protegidos. |
canEdit() | Boolean | Determina si el usuario tiene permiso para editar la hoja o el rango protegidos. |
getDescription() | String | Obtiene la descripción de la hoja o el rango protegidos. |
getEditors() | User[] | Obtiene la lista de editores del rango o la hoja protegidos. |
getProtectionType() | ProtectionType | Obtiene el tipo de área protegida, ya sea RANGE o SHEET . |
getRange() | Range | Obtiene el rango que se protege. |
getRangeName() | String | Obtiene el nombre del rango protegido si está asociado a un rango con nombre. |
getTargetAudiences() | TargetAudience[] | Devuelve los ID de los usuarios objetivo que pueden editar el rango protegido. |
getUnprotectedRanges() | Range[] | Obtiene un array de rangos desprotegidos dentro de una hoja protegida. |
isWarningOnly() | Boolean | Determina si el área protegida utiliza el estado "basado en advertencias" protección. |
remove() | void | Desprotege el rango o la hoja. |
removeEditor(emailAddress) | Protection | Quita al usuario determinado de la lista de editores de la hoja o el rango protegidos. |
removeEditor(user) | Protection | Quita al usuario determinado de la lista de editores de la hoja o el rango protegidos. |
removeEditors(emailAddresses) | Protection | Quita el conjunto de usuarios determinado de la lista de editores de la hoja o el rango protegidos. |
removeTargetAudience(audienceId) | Protection | Elimina el público objetivo especificado como editor del rango protegido. |
setDescription(description) | Protection | Establece la descripción de la hoja o el rango protegidos. |
setDomainEdit(editable) | Protection | Establece si todos los usuarios del dominio propietario de la hoja de cálculo tienen permiso para editar la una hoja o rango protegido. |
setNamedRange(namedRange) | Protection | Asocia el rango protegido a un rango con nombre existente. |
setRange(range) | Protection | Ajusta el rango que se protege. |
setRangeName(rangeName) | Protection | Asocia el rango protegido a un rango con nombre existente. |
setUnprotectedRanges(ranges) | Protection | Desprotege el array dado de rangos dentro de una hoja protegida. |
setWarningOnly(warningOnly) | Protection | Establece si este rango protegido usa o no "basado en advertencias" protección. |
Documentación detallada
addEditor(emailAddress)
Agrega el usuario determinado a la lista de editores de la hoja o el rango protegidos. Este método
No otorgar automáticamente permiso al usuario para editar la hoja de cálculo en sí; para hacerlo en
llama a 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()); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
emailAddress | String | La dirección de correo electrónico del usuario que se agregará. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addEditor(user)
Agrega el usuario determinado a la lista de editores de la hoja o el rango protegidos. Este método
No otorgar automáticamente permiso al usuario para editar la hoja de cálculo en sí; para hacerlo en
llama a 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()); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
user | User | Es una representación del usuario que se agregará. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addEditors(emailAddresses)
Agrega el array determinado de usuarios a la lista de editores de la hoja o el rango protegidos. Esta
no otorga automáticamente permiso a los usuarios para editar la hoja de cálculo en sí; pendientes
que, además, llama a 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()); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
emailAddresses | String[] | Un array de direcciones de correo electrónico de los usuarios que se agregarán. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addTargetAudience(audienceId)
Agrega el público objetivo especificado como editor del rango protegido.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
audienceId | String | El ID del público objetivo que se agregará. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
canDomainEdit()
Determina si todos los usuarios del dominio propietario de la hoja de cálculo tienen permiso para editar el rango o la hoja protegidos. Muestra una excepción si el usuario no tiene permiso para editar. el rango o la hoja protegidos.
// 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());
Volver
Boolean
: true
si todos los usuarios del dominio que posee la hoja de cálculo tienen permiso para realizar las siguientes acciones:
editar el rango o la hoja protegidos false
si no es así.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
canEdit()
Determina si el usuario tiene permiso para editar la hoja o el rango protegidos. El el propietario de la hoja de cálculo siempre puede editar rangos y hojas protegidos.
// Remove all range protections in the spreadsheet that the user has permission to edit. var ss = SpreadsheetApp.getActive(); var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (var i = 0; i < protections.length; i++) { var protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
Volver
Boolean
: Es true
si el usuario tiene permiso para editar la hoja o el rango protegidos. false
si no es así
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDescription()
Obtiene la descripción de la hoja o el rango protegidos. Si no se establece una descripción, este método devuelve una cadena vacía.
// 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);
Volver
String
: Indica la descripción de la hoja o el rango protegidos, o una string vacía si no hay descripción.
esté establecida.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getEditors()
Obtiene la lista de editores del rango o la hoja protegidos. Arroja una excepción si el usuario lo hace no tiene permiso para editar el rango o la hoja protegidos.
// Protect the active sheet, then remove all other users from the list of editors. var sheet = SpreadsheetApp.getActiveSheet(); var 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. var me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
Volver
User[]
: Es un array de usuarios con permiso para editar el rango o la hoja protegidos.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getProtectionType()
Obtiene el tipo de área protegida, ya sea RANGE
o 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());
Volver
ProtectionType
: Indica el tipo de área protegida, ya sea RANGE
o SHEET
.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange()
Obtiene el rango que se protege. Si la protección se aplica a la hoja en lugar de a una rango, este método devuelve un rango que abarca toda la hoja.
// 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());
Volver
Range
: el rango que se protege.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRangeName()
Obtiene el nombre del rango protegido si está asociado a un rango con nombre. Muestra null
si la protección no está asociada con un rango con nombre. Ten en cuenta que las secuencias de comandos
llamar a setRangeName(rangeName)
para asociar un rango protegido a un rango con nombre; llamando
Range.protect()
para crear una protección contra Range
que resulta ser una
rango con nombre, sin llamar a setRangeName(rangeName)
, no es suficiente para asociarlo
de ellos. Sin embargo, crear un rango protegido a partir de un rango con nombre en la IU de Hojas de cálculo de Google asocia
de forma automática.
// Protect a named range in a spreadsheet and log the name of the protected range. var ss = SpreadsheetApp.getActive(); var range = ss.getRange('A1:B10'); var 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.
Volver
String
: Es el nombre del rango con nombre protegido, o null
si el rango protegido no está configurado.
asociado a un rango con nombre
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getTargetAudiences()
Devuelve los ID de los usuarios objetivo que pueden editar el rango protegido.
Volver
TargetAudience[]
: Es un array de los IDs de los usuarios objetivo.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getUnprotectedRanges()
Obtiene un array de rangos desprotegidos dentro de una hoja protegida. Si el objeto Protection
corresponde a un rango protegido en lugar de a una hoja protegida, este método devuelve un valor
. Si quieres cambiar los rangos desprotegidos, usa setUnprotectedRanges(ranges)
para establecer un
nuevo array de rangos; Para volver a proteger toda la hoja, establece un array vacío.
// Unprotect cells E2:F5 in addition to any other unprotected ranges in the protected sheet. var sheet = SpreadsheetApp.getActiveSheet(); var protection = sheet.protect(); var unprotected = protection.getUnprotectedRanges(); unprotected.push(sheet.getRange('E2:F5')); protection.setUnprotectedRanges(unprotected);
Volver
Range[]
: Es un array de rangos desprotegidos dentro de una hoja protegida.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
isWarningOnly()
Determina si el área protegida utiliza el estado "basado en advertencias" protección. Protección basada en advertencias
significa que todos los usuarios pueden editar datos en el área, excepto que la edición muestra una advertencia en la que se solicita
usuario para confirmar la edición. De forma predeterminada, las hojas o los rangos protegidos no se basan en advertencias. Para
para cambiar al estado de advertencia, usa setWarningOnly(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);
Volver
Boolean
: Es true
si la hoja o el rango protegidos solo usa la protección basada en advertencias.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove()
Desprotege el rango o la hoja.
// Remove all range protections in the spreadsheet that the user has permission to edit. var ss = SpreadsheetApp.getActive(); var protections = ss.getProtections(SpreadsheetApp.ProtectionType.RANGE); for (var i = 0; i < protections.length; i++) { var protection = protections[i]; if (protection.canEdit()) { protection.remove(); } }
// Remove sheet protection from the active sheet, if the user has permission to edit it. var sheet = SpreadsheetApp.getActiveSheet(); var protection = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET)[0]; if (protection && protection.canEdit()) { protection.remove(); }
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditor(emailAddress)
Quita al usuario determinado de la lista de editores de la hoja o el rango protegidos. Ten en cuenta que si el usuario es miembro de un Grupo de Google que tiene permiso de edición o si todos los usuarios del dominio tiene permiso de edición, el usuario aún puede editar el área protegida. Ni el propietario de la hoja de cálculo ni eliminar el usuario actual.
// 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()); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
emailAddress | String | La dirección de correo electrónico del usuario que se quitará. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditor(user)
Quita al usuario determinado de la lista de editores de la hoja o el rango protegidos. Ten en cuenta que si el usuario es miembro de un Grupo de Google que tiene permiso de edición o si todos los usuarios del dominio tiene permiso de edición, el usuario también puede editar el área protegida. Ni propietario de la hoja de cálculo ni el usuario actual no pueden quitarse.
// 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()); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
user | User | Una representación del usuario que se quitará. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditors(emailAddresses)
Quita el conjunto de usuarios determinado de la lista de editores de la hoja o el rango protegidos. Ten en cuenta que si alguno de los usuarios es miembro de un Grupo de Google que tiene permiso de edición o si todos usuarios del dominio tengan permiso de edición, estos usuarios aún podrán editar la en una sola área de almacenamiento en etapa intermedia. No se pueden quitar al propietario de la hoja de cálculo ni al usuario actual.
// Protect the active sheet, then remove all other users from the list of editors. var sheet = SpreadsheetApp.getActiveSheet(); var 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. var me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
emailAddresses | String[] | Un array de direcciones de correo electrónico de los usuarios que se deben quitar. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeTargetAudience(audienceId)
Elimina el público objetivo especificado como editor del rango protegido.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
audienceId | String | El ID del público objetivo que se quitará. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setDescription(description)
Establece la descripción de la hoja o el rango protegidos.
// 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);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
description | String | Descripción de la hoja o el rango protegido. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setDomainEdit(editable)
Establece si todos los usuarios del dominio propietario de la hoja de cálculo tienen permiso para editar la una hoja o rango protegido. Ten en cuenta que cualquier usuario que tenga permiso explícito para editar puede hacer lo siguiente: editar el área protegida independientemente de este parámetro de configuración. Muestra una excepción si la hoja de cálculo no No deben pertenecer a un dominio de Google Workspace (es decir, si pertenece a una cuenta de gmail.com).
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
editable | Boolean | true si todos los usuarios del dominio propietario de la hoja de cálculo deben tener
permiso para editar la hoja o el rango protegidos false si no es así. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setNamedRange(namedRange)
Asocia el rango protegido a un rango con nombre existente. Si el rango con nombre cubre un
distinta de la del rango protegido actual, este método mueve la protección para cubrir
el rango con nombre. El rango con nombre debe estar en la misma hoja que el rango protegido
del rango de destino de la ruta. Ten en cuenta que las secuencias de comandos deben llamar explícitamente a este método para asociar un rango protegido con un
rango con nombre; llamando a Range.protect()
para crear una protección contra Range
que resulta ser un rango con nombre, sin llamar a setRangeName(rangeName)
, no se
suficientes para asociarlos. Sin embargo, crear un rango protegido a partir de un rango con nombre en el
La IU de Hojas de cálculo de Google los asocia automáticamente.
// 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());
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
namedRange | NamedRange | El rango con nombre existente que se asociará con el rango protegido. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRange(range)
Ajusta el rango que se protege. Si el rango dado abarca un área diferente de la rango protegido actual, este método mueve la protección para cubrir el rango nuevo en su lugar.
// 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());
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
range | Range | El nuevo rango que se protegerá de los cambios. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRangeName(rangeName)
Asocia el rango protegido a un rango con nombre existente. Si el rango con nombre cubre un
distinta de la del rango protegido actual, este método mueve la protección para cubrir
el rango con nombre. El rango con nombre debe estar en la misma hoja que el rango protegido
del rango de destino de la ruta. Ten en cuenta que las secuencias de comandos deben llamar explícitamente a este método para asociar un rango protegido con un
rango con nombre; llamando a Range.protect()
para crear una protección contra Range
que resulta ser un rango con nombre, sin llamar a setRangeName(rangeName)
, no se
suficientes para asociarlos. Sin embargo, crear un rango protegido a partir de un rango con nombre en el
La IU de Hojas de cálculo de Google los asocia automáticamente.
// Protect a named range in a spreadsheet and log the name of the protected range. var ss = SpreadsheetApp.getActive(); var range = ss.getRange('A1:B10'); var 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.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
rangeName | String | El nombre del rango con nombre que se protegerá. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setUnprotectedRanges(ranges)
Desprotege el array dado de rangos dentro de una hoja protegida. Arroja una excepción si el
El objeto Protection
corresponde a un rango protegido en lugar de a una hoja protegida.
alguno de los rangos no están en la hoja protegida. Para cambiar los rangos desprotegidos, establece una nueva
array de rangos; Para volver a proteger toda la hoja, establece un array vacío.
// Protect the active sheet except B2:C5, then remove all other users from the list of editors. var sheet = SpreadsheetApp.getActiveSheet(); var protection = sheet.protect().setDescription('Sample protected sheet'); var 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. var me = Session.getEffectiveUser(); protection.addEditor(me); protection.removeEditors(protection.getEditors()); if (protection.canDomainEdit()) { protection.setDomainEdit(false); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
ranges | Range[] | El array de rangos que se dejarán desprotegidos en una hoja protegida. |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setWarningOnly(warningOnly)
Establece si este rango protegido usa o no "basado en advertencias" protección. Basadas en advertencias
protección significa que todos los usuarios pueden editar datos en el área, excepto que la edición muestra una advertencia
pidiéndole al usuario que confirme la edición. De forma predeterminada, las hojas o los rangos protegidos no se
basadas en advertencias. Para verificar el estado de advertencia, usa isWarningOnly()
.
// 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());
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
warningOnly | Boolean |
Volver
Protection
: Es el objeto que representa la configuración de protección para el encadenamiento.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets