Accéder aux plages et feuilles protégées et les modifier. Une plage protégée peut protéger un signal statique
plage de cellules ou une plage nommée. Une feuille protégée peut inclure des zones non protégées. Pour
feuilles de calcul créées avec l'ancienne version de Google Sheets, utilisez l'
.
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éthodes
Méthode | Type renvoyé | Brève description |
---|---|---|
addEditor(emailAddress) | Protection | Ajoute l'utilisateur donné à la liste des éditeurs de la feuille ou de la plage protégée. |
addEditor(user) | Protection | Ajoute l'utilisateur donné à la liste des éditeurs de la feuille ou de la plage protégée. |
addEditors(emailAddresses) | Protection | Ajoute le tableau d'utilisateurs donné à la liste des éditeurs de la feuille ou de la plage protégée. |
addTargetAudience(audienceId) | Protection | Ajoute l'audience cible spécifiée en tant qu'éditeur de la plage protégée. |
canDomainEdit() | Boolean | Détermine si tous les utilisateurs du domaine propriétaire de la feuille de calcul sont autorisés à effectuer des modifications la plage ou la feuille protégée. |
canEdit() | Boolean | Détermine si l'utilisateur est autorisé à modifier la feuille ou la plage protégée. |
getDescription() | String | Récupère la description de la feuille ou de la plage protégée. |
getEditors() | User[] | Récupère la liste des éditeurs de la feuille ou de la plage protégée. |
getProtectionType() | ProtectionType | Récupère le type de zone protégée (RANGE ou SHEET ). |
getRange() | Range | Récupère la plage protégée. |
getRangeName() | String | Récupère le nom de la plage protégée si elle est associée à une plage nommée. |
getTargetAudiences() | TargetAudience[] | Affiche les ID des audiences cibles autorisées à modifier la plage protégée. |
getUnprotectedRanges() | Range[] | Récupère un tableau de plages non protégées dans une feuille protégée. |
isWarningOnly() | Boolean | Détermine si la zone protégée utilise un système d'avertissements de sécurité. |
remove() | void | Déprotège la plage ou la feuille. |
removeEditor(emailAddress) | Protection | Supprime l'utilisateur indiqué de la liste des éditeurs de la feuille ou de la plage protégée. |
removeEditor(user) | Protection | Supprime l'utilisateur indiqué de la liste des éditeurs de la feuille ou de la plage protégée. |
removeEditors(emailAddresses) | Protection | Supprime le tableau d'utilisateurs indiqué de la liste des éditeurs pour la feuille ou la plage protégée. |
removeTargetAudience(audienceId) | Protection | Supprime l'audience cible spécifiée en tant qu'éditeur de la plage protégée. |
setDescription(description) | Protection | Définit la description de la feuille ou de la plage protégée. |
setDomainEdit(editable) | Protection | Détermine si tous les utilisateurs du domaine propriétaire de la feuille de calcul sont autorisés à modifier la une plage ou une feuille protégée. |
setNamedRange(namedRange) | Protection | Associe la plage protégée à une plage nommée existante. |
setRange(range) | Protection | Permet de régler la plage protégée. |
setRangeName(rangeName) | Protection | Associe la plage protégée à une plage nommée existante. |
setUnprotectedRanges(ranges) | Protection | Supprime la protection du tableau de plages donné dans une feuille protégée. |
setWarningOnly(warningOnly) | Protection | Détermine si cette plage protégée utilise le paramètre "En fonction des avertissements" de sécurité. |
Documentation détaillée
addEditor(emailAddress)
Ajoute l'utilisateur donné à la liste des éditeurs de la feuille ou de la plage protégée. Cette méthode
ne pas donner automatiquement à l’utilisateur l’autorisation
de modifier la feuille de calcul elle-même ; de le faire dans
appelez 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 |
---|---|---|
emailAddress | String | Adresse e-mail de l'utilisateur à ajouter. |
Renvois
Protection
: objet représentant les paramètres de protection pour le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addEditor(user)
Ajoute l'utilisateur donné à la liste des éditeurs de la feuille ou de la plage protégée. Cette méthode
ne pas donner automatiquement à l’utilisateur l’autorisation
de modifier la feuille de calcul elle-même ; de le faire dans
appelez 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 le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addEditors(emailAddresses)
Ajoute le tableau d'utilisateurs donné à la liste des éditeurs de la feuille ou de la plage protégée. Ce
n'autorise pas automatiquement les utilisateurs à modifier la feuille de calcul elle-même. à faire
qui appelle é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 |
---|---|---|
emailAddresses | String[] | Tableau des adresses e-mail des utilisateurs à ajouter. |
Renvois
Protection
: objet représentant les paramètres de protection pour le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addTargetAudience(audienceId)
Ajoute l'audience cible spécifiée en tant qu'éditeur de la plage protégée.
Paramètres
Nom | Type | Description |
---|---|---|
audienceId | String | ID de l'audience cible à ajouter. |
Renvois
Protection
: objet représentant les paramètres de protection pour le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
canDomainEdit()
Détermine si tous les utilisateurs du domaine propriétaire de la feuille de calcul sont autorisés à effectuer des modifications la plage ou la feuille protégée. Génère une exception si l'utilisateur n'est pas autorisé à apporter des modifications. 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 feuille ou la plage protégée ; false
si ce n'est pas le cas.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
canEdit()
Détermine si l'utilisateur est autorisé à modifier la feuille ou la plage protégée. La 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. 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(); } }
Renvois
Boolean
: true
si l'utilisateur est autorisé à modifier la feuille ou la plage protégée false
si ce n'est pas le cas
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDescription()
Récupère la description de la feuille ou de la plage 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 feuille ou de la plage protégée, ou chaîne vide en l'absence de description
est définie.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getEditors()
Récupère la liste des éditeurs de la feuille ou de la plage protégée. Une exception est générée si l'utilisateur le fait. ne pas avoir l'autorisation de modifier la feuille ou la plage protégée.
// 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); }
Renvois
User[]
: tableau des utilisateurs autorisés à modifier la feuille ou la plage protégée
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getProtectionType()
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
ProtectionType
: type de zone protégée (RANGE
ou SHEET
).
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange()
Récupère la plage protégée. Si la protection s'applique à la feuille au lieu plage, cette méthode renvoie une plage qui couvre toute 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 correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRangeName()
Récupère le nom de la plage protégée si elle est associée à une plage nommée. Renvoie null
si la protection n'est associée à aucune plage nommée. Notez que les scripts doivent explicitement
appeler setRangeName(rangeName)
pour associer une plage protégée à une plage nommée ; Appel en cours
Range.protect()
pour créer une protection à partir d'un élément Range
qui se trouve être un
plage nommée, sans appeler setRangeName(rangeName)
, ne suffit pas pour associer
de l'IA générative. Toutefois, la création d'une plage protégée à partir d'une plage nommée dans l'interface utilisateur de Google Sheets associe
automatiquement.
// 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.
Renvois
String
: nom de la plage nommée protégée, ou null
si la plage protégée n'est pas
associé à une plage nommée
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getTargetAudiences()
Affiche les ID des audiences cibles autorisées à modifier la plage protégée.
Renvois
TargetAudience[]
: tableau des ID des audiences cibles.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getUnprotectedRanges()
Récupère un tableau de plages non protégées dans une feuille protégée. Si l'objet Protection
correspondant à une plage protégée et non à une feuille protégée, cette méthode renvoie une valeur
tableau. Pour modifier les plages non protégées, utilisez setUnprotectedRanges(ranges)
pour définir une
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. var sheet = SpreadsheetApp.getActiveSheet(); var protection = sheet.protect(); var 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 correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
isWarningOnly()
Détermine si la zone protégée utilise un système d'avertissements de sécurité. Protection basée sur des avertissements
Cela signifie que chaque utilisateur peut modifier les données de la zone, à l'exception des invites de la méthode de modification,
pour confirmer la modification. Par défaut, les plages ou les feuilles protégées ne comportent pas d'avertissements. À
passez à l'état d'avertissement, utilisez 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);
Renvois
Boolean
: true
si la plage ou la feuille protégées n'utilise qu'une protection basée sur des avertissements.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove()
Déprotège la plage ou la feuille.
// 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(); }
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditor(emailAddress)
Supprime l'utilisateur indiqué 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 Groupes autorisé à effectuer des modifications, ou si tous les utilisateurs du domaine l'utilisateur peut toujours modifier la zone protégée. Ni le propriétaire de la feuille de calcul, ni 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 |
---|---|---|
emailAddress | String | Adresse e-mail de l'utilisateur à supprimer. |
Renvois
Protection
: objet représentant les paramètres de protection pour le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditor(user)
Supprime l'utilisateur indiqué 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 autorisé à effectuer des modifications, ou si tous les utilisateurs du domaine ont des droits de modification, l'utilisateur peut toujours modifier la zone protégée également. Ni la le propriétaire de la feuille de calcul ni l'utilisateur actuel peuvent être supprimés.
// 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 le chaînage
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditors(emailAddresses)
Supprime le tableau d'utilisateurs indiqué de la liste des éditeurs pour la feuille ou la plage protégée. Notez que si l'un des utilisateurs est membre d'un groupe Google autorisé à effectuer des modifications, ou si tous que les utilisateurs du domaine sont autorisés à apporter des modifications, ils peuvent toujours modifier les dans une zone géographique spécifique. Ni le propriétaire de la feuille de calcul, ni l'utilisateur actuel ne peuvent être supprimés.
// 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); }
Paramètres
Nom | Type | Description |
---|---|---|
emailAddresses | String[] | Tableau des adresses e-mail des utilisateurs à supprimer. |
Renvois
Protection
: objet représentant les paramètres de protection, pour le chaînage
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeTargetAudience(audienceId)
Supprime l'audience cible spécifiée en tant qu'éditeur de la plage protégée.
Paramètres
Nom | Type | Description |
---|---|---|
audienceId | String | ID de l'audience cible à supprimer. |
Renvois
Protection
: objet représentant les paramètres de protection pour le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setDescription(description)
Définit la description de la feuille ou de la plage 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 feuille ou de la plage protégée. |
Renvois
Protection
: objet représentant les paramètres de protection pour le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setDomainEdit(editable)
Détermine si tous les utilisateurs du domaine propriétaire de la feuille de calcul sont autorisés à modifier la une plage ou une feuille protégée. Notez que tous les utilisateurs disposant d'autorisations de modification explicites peuvent modifier la zone protégée, indépendamment de ce paramètre. Génère une exception si la feuille de calcul n'appartiennent pas à un domaine Google Workspace (c'est-à-dire, s'ils appartiennent à 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 avoir
autorisation de modifier la feuille ou la plage protégée false si ce n'est pas le cas. |
Renvois
Protection
: objet représentant les paramètres de protection, pour le chaînage
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setNamedRange(namedRange)
Associe la plage protégée à une plage nommée existante. Si la plage nommée couvre un
située à une zone différente de la plage protégée actuelle, cette méthode déplace la protection de façon à 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
la plage d'adresses IP. Notez que les scripts doivent appeler explicitement cette méthode pour associer une plage protégée à un
plage nommée ; appeler Range.protect()
pour créer une protection à partir d'un Range
.
qui se trouve être une plage nommée, sans appeler setRangeName(rangeName)
, n'est pas
pour les associer. Toutefois, la création d'une plage protégée à partir d'une plage nommée dans le
L'interface utilisateur de Google Sheets les associe 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 |
---|---|---|
namedRange | NamedRange | Plage nommée existante à associer à la plage protégée. |
Renvois
Protection
: objet représentant les paramètres de protection pour le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRange(range)
Permet de régler 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 de façon à 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 | Nouvelle plage à protéger contre les modifications. |
Renvois
Protection
: objet représentant les paramètres de protection pour le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRangeName(rangeName)
Associe la plage protégée à une plage nommée existante. Si la plage nommée couvre un
située à une zone différente de la plage protégée actuelle, cette méthode déplace la protection de façon à 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
la plage d'adresses IP. Notez que les scripts doivent appeler explicitement cette méthode pour associer une plage protégée à un
plage nommée ; appeler Range.protect()
pour créer une protection à partir d'un Range
.
qui se trouve être une plage nommée, sans appeler setRangeName(rangeName)
, n'est pas
pour les associer. Toutefois, la création d'une plage protégée à partir d'une plage nommée dans le
L'interface utilisateur de Google Sheets les associe automatiquement.
// 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.
Paramètres
Nom | Type | Description |
---|---|---|
rangeName | String | Nom de la plage nommée à protéger. |
Renvois
Protection
: objet représentant les paramètres de protection, pour le chaînage
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setUnprotectedRanges(ranges)
Supprime la protection du tableau de plages donné dans une feuille protégée. La fonction renvoie une exception si le
L'objet Protection
correspond à une plage protégée et non à une feuille protégée, ou si
aucune plage ne figure sur la feuille protégée. Pour modifier les plages non protégées, définissez une nouvelle
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. 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); }
Paramètres
Nom | Type | Description |
---|---|---|
ranges | Range[] | Tableau de plages à ne pas protéger dans une feuille protégée. |
Renvois
Protection
: objet représentant les paramètres de protection, pour le chaînage
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setWarningOnly(warningOnly)
Détermine si cette plage protégée utilise le paramètre "En fonction des avertissements" de sécurité. Basé sur un avertissement
signifie que chaque utilisateur peut modifier les données dans la zone, sauf qu'un avertissement s'affiche
demandant à l'utilisateur
de confirmer la modification. Par défaut, les plages ou les feuilles protégées ne sont pas
en cas d'avertissement. Pour vérifier l'état d'avertissement, utilisez 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());
Paramètres
Nom | Type | Description |
---|---|---|
warningOnly | Boolean |
Renvois
Protection
: objet représentant les paramètres de protection pour le chaînage.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets