Accéder aux plages et feuilles protégées et les modifier. Une plage protégée peut protéger une plage de cellules statique ou une plage nommée. Une feuille protégée peut inclure des régions non protégées. Pour les feuilles de calcul créées avec l'ancienne version de Google Sheets, utilisez plutôt la classe .
Page
// 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); }
Méthodes
| Méthode | Type renvoyé | Brève description |
|---|---|---|
add | Protection | Ajoute l'utilisateur spécifié à la liste des éditeurs de la feuille ou de la plage protégée. |
add | Protection | Ajoute l'utilisateur spécifié à la liste des éditeurs de la feuille ou de la plage protégée. |
add | Protection | Ajoute le tableau d'utilisateurs donné à la liste des éditeurs de la feuille ou de la plage protégée. |
add | Protection | Ajoute l'audience cible spécifiée en tant qu'éditeur de la plage protégée. |
can | Boolean | Détermine si tous les utilisateurs du domaine propriétaire de la feuille de calcul sont autorisés à modifier la plage ou la feuille protégée. |
can | Boolean | Détermine si l'utilisateur est autorisé à modifier la plage ou la feuille protégée. |
get | String | Obtient la description de la plage ou de la feuille protégée. |
get | User[] | Obtient la liste des éditeurs pour la plage ou la feuille protégée. |
get | Protection | Récupère le type de zone protégée (RANGE ou SHEET). |
get | Range | Récupère la plage protégée. |
get | String|null | Obtient le nom de la plage protégée si elle est associée à une plage nommée. |
get | Target | Renvoie les ID des audiences cibles qui peuvent modifier la plage protégée. |
get | Range[] | Renvoie un tableau de plages non protégées dans une feuille protégée. |
is | Boolean | Détermine si la zone protégée utilise une protection basée sur des avertissements. |
remove() | void | Supprime la protection de la plage ou de la feuille. |
remove | Protection | Supprime l'utilisateur spécifié de la liste des éditeurs de la feuille ou de la plage protégée. |
remove | Protection | Supprime l'utilisateur spécifié de la liste des éditeurs de la feuille ou de la plage protégée. |
remove | Protection | Supprime le tableau d'utilisateurs donné de la liste des éditeurs de la feuille ou de la plage protégée. |
remove | Protection | Supprime l'audience cible spécifiée en tant qu'éditeur de la plage protégée. |
set | Protection | Définit la description de la plage ou de la feuille protégée. |
set | Protection | Indique si tous les utilisateurs du domaine propriétaire de la feuille de calcul sont autorisés à modifier la plage ou la feuille protégée. |
set | Protection | Associe la plage protégée à une plage nommée existante. |
set | Protection | Ajuste la plage protégée. |
set | Protection | Associe la plage protégée à une plage nommée existante. |
set | Protection | Supprime la protection de la plage de cellules spécifiée dans une feuille protégée. |
set | Protection | Indique si cette plage protégée utilise une protection basée sur des avertissements. |
Documentation détaillée
add Editor(emailAddress)
Ajoute l'utilisateur spécifié à la liste des éditeurs de la feuille ou de la plage protégée. Cette méthode n'autorise pas automatiquement l'utilisateur à modifier la feuille de calcul elle-même. Pour ce faire, appelez également 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()); }
Paramètres
| Nom | Type | Description |
|---|---|---|
email | String | Adresse e-mail de l'utilisateur à ajouter. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
add Editor(user)
Ajoute l'utilisateur spécifié à la liste des éditeurs de la feuille ou de la plage protégée. Cette méthode n'autorise pas automatiquement l'utilisateur à modifier la feuille de calcul elle-même. Pour ce faire, appelez également 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()); }
Paramètres
| Nom | Type | Description |
|---|---|---|
user | User | Représentation de l'utilisateur à ajouter. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
add Editors(emailAddresses)
Ajoute le tableau d'utilisateurs donné à la liste des éditeurs de la feuille ou de la plage protégée. Cette méthode n'autorise pas automatiquement les utilisateurs à modifier la feuille de calcul elle-même. Pour ce faire, appelez également 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()); }
Paramètres
| Nom | Type | Description |
|---|---|---|
email | String[] | Tableau des adresses e-mail des utilisateurs à ajouter. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
add Target Audience(audienceId)
Ajoute l'audience cible spécifiée en tant qu'éditeur de la plage protégée.
Paramètres
| Nom | Type | Description |
|---|---|---|
audience | String | ID de l'audience cible à ajouter. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
can Domain Edit()
Détermine si tous les utilisateurs du domaine propriétaire de la feuille de calcul sont autorisés à modifier la plage ou la feuille protégée. Génère une exception si l'utilisateur n'est pas autorisé à modifier la plage ou la feuille protégée.
// 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());
Renvois
Boolean – true si tous les utilisateurs du domaine propriétaire de la feuille de calcul sont autorisés à modifier la plage ou la feuille protégée ; false dans le cas contraire.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
can Edit()
Détermine si l'utilisateur est autorisé à modifier la plage ou la feuille protégée. Le propriétaire de la feuille de calcul peut toujours modifier les plages et les feuilles protégées.
// 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(); } }
Renvois
Boolean : true si l'utilisateur est autorisé à modifier la plage ou la feuille protégée, false dans le cas contraire
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Description()
Obtient la description de la plage ou de la feuille protégée. Si aucune description n'est définie, cette méthode renvoie une chaîne vide.
// 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);
Renvois
String : description de la plage ou de la feuille protégée, ou chaîne vide si aucune description n'est définie.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Editors()
Obtient la liste des éditeurs pour la plage ou la feuille protégée. Génère une exception si l'utilisateur n'est pas autorisé à modifier la plage ou la feuille protégée.
// 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); }
Renvois
User[] : tableau des utilisateurs autorisés à modifier la plage ou la feuille protégée
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Protection Type()
Récupère le type de zone protégée (RANGE ou 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());
Renvois
Protection : type de zone protégée (RANGE ou SHEET).
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Range()
Récupère la plage protégée. Si la protection s'applique à la feuille plutôt qu'à une plage, cette méthode renvoie une plage qui couvre l'intégralité de la feuille.
// 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());
Renvois
Range : plage protégée.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Range Name()
Obtient le nom de la plage protégée si elle est associée à une plage nommée. Renvoie null si la protection n'est pas associée à une plage nommée. Notez que les scripts doivent appeler explicitement set pour associer une plage protégée à une plage nommée. Appeler Range.protect() pour créer une protection à partir d'une Range qui se trouve être une plage nommée, sans appeler set, ne suffit pas à les associer. Toutefois, si vous créez une plage protégée à partir d'une plage nommée dans l'interface utilisateur de Google Sheets, elles seront associées automatiquement.
// 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.
Renvois
String|null : nom de la plage nommée protégée ou null si la plage protégée n'est pas associée à une plage nommée
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Target Audiences()
Renvoie les ID des audiences cibles qui peuvent modifier la plage protégée.
Renvois
Target : tableau des ID des audiences cibles.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Unprotected Ranges()
Renvoie un tableau de plages non protégées dans une feuille protégée. Si l'objet Protection correspond à une plage protégée plutôt qu'à une feuille protégée, cette méthode renvoie un tableau vide. Pour modifier les plages non protégées, utilisez set afin de définir un nouveau tableau de plages. Pour protéger à nouveau la feuille entière, définissez un tableau vide.
// 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);
Renvois
Range[] : tableau de plages non protégées dans une feuille protégée
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
is Warning Only()
Détermine si la zone protégée utilise une protection basée sur des avertissements. La protection basée sur des avertissements signifie que chaque utilisateur peut modifier les données de la zone, mais qu'un avertissement lui demande de confirmer la modification. Par défaut, les plages ou feuilles protégées ne sont pas basées sur des avertissements. Pour passer à l'état d'avertissement, utilisez set.
// 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);
Renvois
Boolean : true si la plage ou la feuille protégée n'utilise qu'une protection basée sur des avertissements.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove()
Supprime la protection de la plage ou de la feuille.
// 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(); }
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Editor(emailAddress)
Supprime l'utilisateur spécifié de la liste des éditeurs de la feuille ou de la plage protégée. Notez que si l'utilisateur est membre d'un groupe Google disposant de l'autorisation de modification ou si tous les utilisateurs du domaine disposent de cette autorisation, il pourra toujours modifier la zone protégée. Il est impossible de supprimer le propriétaire de la feuille de calcul ou l'utilisateur actuel.
// 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()); }
Paramètres
| Nom | Type | Description |
|---|---|---|
email | String | Adresse e-mail de l'utilisateur à supprimer. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Editor(user)
Supprime l'utilisateur spécifié de la liste des éditeurs de la feuille ou de la plage protégée. Notez que si l'utilisateur est membre d'un groupe Google disposant de l'autorisation de modification, ou si tous les utilisateurs du domaine disposent de cette autorisation, il pourra toujours modifier la zone protégée. Il est impossible de supprimer le propriétaire de la feuille de calcul ou l'utilisateur actuel.
// 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()); }
Paramètres
| Nom | Type | Description |
|---|---|---|
user | User | Représentation de l'utilisateur à supprimer. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Editors(emailAddresses)
Supprime le tableau d'utilisateurs donné de la liste des éditeurs de la feuille ou de la plage protégée. Notez que si l'un des utilisateurs est membre d'un groupe Google disposant de l'autorisation de modification, ou si tous les utilisateurs du domaine disposent de cette autorisation, ils pourront toujours modifier la zone protégée. Il est impossible de supprimer le propriétaire de la feuille de calcul ou l'utilisateur actuel.
// 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); }
Paramètres
| Nom | Type | Description |
|---|---|---|
email | String[] | Tableau des adresses e-mail des utilisateurs à supprimer. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Target Audience(audienceId)
Supprime l'audience cible spécifiée en tant qu'éditeur de la plage protégée.
Paramètres
| Nom | Type | Description |
|---|---|---|
audience | String | ID de l'audience cible à supprimer. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Description(description)
Définit la description de la plage ou de la feuille protégée.
// 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);
Paramètres
| Nom | Type | Description |
|---|---|---|
description | String | Description de la plage ou de la feuille protégée. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Domain Edit(editable)
Indique si tous les utilisateurs du domaine propriétaire de la feuille de calcul sont autorisés à modifier la plage ou la feuille protégée. Notez que les utilisateurs disposant d'une autorisation de modification explicite peuvent modifier la zone protégée, quel que soit ce paramètre. Génère une exception si la feuille de calcul n'appartient pas à un domaine Google Workspace (c'est-à-dire si elle appartient à un compte gmail.com).
Paramètres
| Nom | Type | Description |
|---|---|---|
editable | Boolean | true si tous les utilisateurs du domaine propriétaire de la feuille de calcul doivent être autorisés à modifier la plage ou la feuille protégée ; false si ce n'est pas le cas. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Named Range(namedRange)
Associe la plage protégée à une plage nommée existante. Si la plage nommée couvre une zone différente de la plage protégée actuelle, cette méthode déplace la protection pour couvrir la plage nommée à la place. La plage nommée doit se trouver sur la même feuille que la plage protégée actuelle. Notez que les scripts doivent appeler explicitement cette méthode pour associer une plage protégée à une plage nommée. L'appel de Range.protect() pour créer une protection à partir d'une Range qui se trouve être une plage nommée, sans appeler set, ne suffit pas à les associer. Toutefois, si vous créez une plage protégée à partir d'une plage nommée dans l'interface utilisateur de Google Sheets, elles seront associées automatiquement.
// 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());
Paramètres
| Nom | Type | Description |
|---|---|---|
named | Named | Plage nommée existante à associer à la plage protégée. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Range(range)
Ajuste la plage protégée. Si la plage donnée couvre une zone différente de la plage protégée actuelle, cette méthode déplace la protection pour couvrir la nouvelle plage.
// 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());
Paramètres
| Nom | Type | Description |
|---|---|---|
range | Range | La nouvelle plage à protéger contre les modifications. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Range Name(rangeName)
Associe la plage protégée à une plage nommée existante. Si la plage nommée couvre une zone différente de la plage protégée actuelle, cette méthode déplace la protection pour couvrir la plage nommée à la place. La plage nommée doit se trouver sur la même feuille que la plage protégée actuelle. Notez que les scripts doivent appeler explicitement cette méthode pour associer une plage protégée à une plage nommée. L'appel de Range.protect() pour créer une protection à partir d'une Range qui se trouve être une plage nommée, sans appeler set, ne suffit pas à les associer. Toutefois, si vous créez une plage protégée à partir d'une plage nommée dans l'interface utilisateur de Google Sheets, elles seront associées automatiquement.
// 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.
Paramètres
| Nom | Type | Description |
|---|---|---|
range | String | Nom de la plage nommée à protéger. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Unprotected Ranges(ranges)
Supprime la protection de la plage de cellules spécifiée dans une feuille protégée. Génère une exception si l'objet Protection correspond à une plage protégée au lieu d'une feuille protégée, ou si l'une des plages ne se trouve pas sur la feuille protégée. Pour modifier les plages non protégées, définissez un nouveau tableau de plages. Pour protéger à nouveau la feuille entière, définissez un tableau vide.
// 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); }
Paramètres
| Nom | Type | Description |
|---|---|---|
ranges | Range[] | Tableau des plages à laisser non protégées dans une feuille protégée. |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Warning Only(warningOnly)
Indique si cette plage protégée utilise une protection basée sur des avertissements. La protection basée sur des avertissements signifie que chaque utilisateur peut modifier les données de la zone, mais qu'un avertissement s'affiche pour lui demander de confirmer la modification. Par défaut, les plages ou feuilles protégées ne sont pas basées sur des avertissements. Pour vérifier l'état des avertissements, utilisez is.
// 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());
Paramètres
| Nom | Type | Description |
|---|---|---|
warning | Boolean |
Renvois
Protection : objet représentant les paramètres de protection, pour l'association en chaîne.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets