Auf geschützte Bereiche und Tabellenblätter zugreifen und sie ändern. Ein geschützter Bereich kann entweder einen statischen Zellenbereich oder einen benannten Bereich schützen. Ein geschütztes Tabellenblatt kann nicht geschützte Regionen enthalten. Für Tabellen, die mit der älteren Version von Google Tabellen erstellt wurden, verwenden Sie stattdessen die Klasse
.
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); }
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
addEditor(emailAddress) | Protection | Der jeweilige Nutzer wird der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzugefügt. |
addEditor(user) | Protection | Der jeweilige Nutzer wird der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzugefügt. |
addEditors(emailAddresses) | Protection | Fügt das angegebene Array der Nutzer der Liste der Bearbeiter des geschützten Tabellenblatts oder Bereichs hinzu. |
addTargetAudience(audienceId) | Protection | Die angegebene Zielgruppe wird als Bearbeiter des geschützten Bereichs hinzugefügt. |
canDomainEdit() | Boolean | Legt fest, ob alle Nutzer in der Domain, der die Tabelle gehört, berechtigt sind, den geschützten Bereich oder das Tabellenblatt zu bearbeiten. |
canEdit() | Boolean | Legt fest, ob der Nutzer die Berechtigung zum Bearbeiten des geschützten Bereichs oder der Tabelle hat. |
getDescription() | String | Ruft die Beschreibung des geschützten Bereichs oder Tabellenblatts ab |
getEditors() | User[] | Ruft die Liste der Editoren für den geschützten Bereich oder das geschützte Tabellenblatt ab. |
getProtectionType() | ProtectionType | Ruft den Typ des geschützten Bereichs ab, entweder RANGE oder SHEET . |
getRange() | Range | Ruft den Schutzbereich ab, der geschützt wird. |
getRangeName() | String | Ruft den Namen des geschützten Bereichs ab, wenn er einem benannten Bereich zugeordnet ist. |
getTargetAudiences() | TargetAudience[] | Gibt die IDs der Zielgruppen zurück, die den geschützten Bereich bearbeiten können. |
getUnprotectedRanges() | Range[] | Ruft ein Array ungeschützter Bereiche in einem geschützten Tabellenblatt ab |
isWarningOnly() | Boolean | Legt fest, ob der geschützte Bereich den Schutz auf Basis von Warnungen verwendet. |
remove() | void | Schützt den Zellenbereich oder das Tabellenblatt. |
removeEditor(emailAddress) | Protection | Der betreffende Nutzer wird aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich entfernt. |
removeEditor(user) | Protection | Der betreffende Nutzer wird aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich entfernt. |
removeEditors(emailAddresses) | Protection | Entfernt die angegebenen Nutzer aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. |
removeTargetAudience(audienceId) | Protection | Die angegebene Zielgruppe wird als Bearbeiter des geschützten Bereichs entfernt. |
setDescription(description) | Protection | Legt die Beschreibung des geschützten Bereichs oder Tabellenblatts fest. |
setDomainEdit(editable) | Protection | Legt fest, ob alle Nutzer in der Domain, der die Tabelle gehört, berechtigt sind, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten. |
setNamedRange(namedRange) | Protection | Ordnet den geschützten Bereich einem vorhandenen benannten Bereich zu. |
setRange(range) | Protection | Passt den geschützten Bereich an. |
setRangeName(rangeName) | Protection | Ordnet den geschützten Bereich einem vorhandenen benannten Bereich zu. |
setUnprotectedRanges(ranges) | Protection | Schützt das angegebene Array von Bereichen in einem geschützten Tabellenblatt. |
setWarningOnly(warningOnly) | Protection | Legt fest, ob für diesen geschützten Bereich der Schutz vor Warnungen verwendet wird. |
Detaillierte Dokumentation
addEditor(emailAddress)
Der jeweilige Nutzer wird der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzugefügt. Dabei wird dem Nutzer nicht automatisch die Berechtigung zum Bearbeiten der Tabelle erteilt. Rufen Sie dazu Spreadsheet.addEditor(emailAddress)
auf.
// 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()); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
emailAddress | String | Die E-Mail-Adresse des Nutzers, den Sie hinzufügen möchten. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addEditor(user)
Der jeweilige Nutzer wird der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzugefügt. Dabei wird dem Nutzer nicht automatisch die Berechtigung zum Bearbeiten der Tabelle erteilt. Rufen Sie dazu Spreadsheet.addEditor(user)
auf.
// 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()); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
user | User | Eine Darstellung des hinzuzufügenden Nutzers. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addEditors(emailAddresses)
Fügt das angegebene Array der Nutzer der Liste der Bearbeiter des geschützten Tabellenblatts oder Bereichs hinzu. Durch diese Methode erhält der Nutzer nicht automatisch die Berechtigung zum Bearbeiten der Tabelle. Rufen Sie dazu zusätzlich Spreadsheet.addEditors(emailAddresses)
auf.
// 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()); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
emailAddresses | String[] | Ein Array mit E-Mail-Adressen der hinzuzufügenden Nutzer. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addTargetAudience(audienceId)
Die angegebene Zielgruppe wird als Bearbeiter des geschützten Bereichs hinzugefügt.
Parameter
Name | Typ | Beschreibung |
---|---|---|
audienceId | String | Die ID der Zielgruppe, die hinzugefügt werden soll. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
canDomainEdit()
Legt fest, ob alle Nutzer in der Domain, der die Tabelle gehört, berechtigt sind, den geschützten Bereich oder das Tabellenblatt zu bearbeiten. Löst eine Ausnahme aus, wenn der Nutzer keine Berechtigung zum Bearbeiten des geschützten Bereichs oder des geschützten Tabellenblatts hat.
// 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());
Rückflug
Boolean
: true
, wenn alle Nutzer in der Domain, der die Tabelle gehört, berechtigt sind, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten. false
, wenn dies nicht der Fall ist.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
canEdit()
Legt fest, ob der Nutzer die Berechtigung zum Bearbeiten des geschützten Bereichs oder der Tabelle hat. Der Eigentümer der Tabelle kann geschützte Bereiche und Tabellenblätter jederzeit bearbeiten.
// 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(); } }
Rückflug
Boolean
: true
, wenn der Nutzer die Berechtigung zum Bearbeiten des geschützten Bereichs oder Tabellenblatts hat. false
, wenn nicht.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDescription()
Ruft die Beschreibung des geschützten Bereichs oder Tabellenblatts ab Wenn keine Beschreibung festgelegt ist, gibt diese Methode einen leeren String zurück.
// 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);
Rückflug
String
: die Beschreibung des geschützten Bereichs oder Tabellenblatts oder ein leerer String, wenn keine Beschreibung festgelegt ist.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getEditors()
Ruft die Liste der Editoren für den geschützten Bereich oder das geschützte Tabellenblatt ab. Löst eine Ausnahme aus, wenn der Nutzer keine Berechtigung zum Bearbeiten des geschützten Bereichs oder des geschützten Tabellenblatts hat.
// 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); }
Rückflug
User[]
: ein Array von Nutzern mit der Berechtigung zum Bearbeiten des geschützten Bereichs oder des geschützten Tabellenblatts
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getProtectionType()
Ruft den Typ des geschützten Bereichs ab, entweder RANGE
oder 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());
Rückflug
ProtectionType
: Der Typ des Landschaftsschutzgebiets, entweder RANGE
oder SHEET
.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange()
Ruft den Schutzbereich ab, der geschützt wird. Wenn die Schutzmaßnahme auf das Tabellenblatt angewendet wird, nicht auf einen Bereich, gibt diese Methode einen Bereich zurück, der das gesamte Tabellenblatt umfasst.
// 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());
Rückflug
Range
(Bereich): Der Bereich, der geschützt wird.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRangeName()
Ruft den Namen des geschützten Bereichs ab, wenn er einem benannten Bereich zugeordnet ist. Gibt null
zurück, wenn die Schutzmaßnahme nicht mit einem benannten Bereich verknüpft ist. Beachten Sie, dass Skripts explizit setRangeName(rangeName)
aufrufen müssen, um einen geschützten Bereich mit einem benannten Bereich zu verknüpfen. Zum Aufrufen der Schutzmaßnahme aus einer Range
, die ein benannter Bereich ist, ohne setRangeName(rangeName)
aufzurufen, ist dies nicht ausreichend. Wenn Sie jedoch in der Google Tabellen-Benutzeroberfläche einen geschützten Bereich aus einem benannten Bereich erstellen, werden diese automatisch verknüpft.
// 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.
Rückflug
String
: der Name des geschützten benannten Bereichs oder null
, wenn der geschützte Bereich nicht mit einem benannten Bereich verknüpft ist
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getTargetAudiences()
Gibt die IDs der Zielgruppen zurück, die den geschützten Bereich bearbeiten können.
Rückflug
TargetAudience[]
: ein Array der IDs der Zielgruppen.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getUnprotectedRanges()
Ruft ein Array ungeschützter Bereiche in einem geschützten Tabellenblatt ab Wenn das Protection
-Objekt einem geschützten Bereich statt einem geschützten Tabellenblatt entspricht, gibt diese Methode ein leeres Array zurück. Wenn Sie die nicht geschützten Bereiche ändern möchten, verwenden Sie setUnprotectedRanges(ranges)
, um ein neues Array von Bereichen festzulegen. Wenn Sie das gesamte Tabellenblatt noch einmal schützen möchten, legen Sie ein leeres Array fest.
// 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);
Rückflug
Range[]
: ein Array nicht geschützter Bereiche in einem geschützten Tabellenblatt
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
isWarningOnly()
Legt fest, ob der geschützte Bereich den Schutz auf Basis von Warnungen verwendet. Eine warnungsbasierte Schutzmaßnahme bedeutet, dass jeder Nutzer Daten in dem Bereich bearbeiten kann, außer dass beim Bearbeiten eine Warnung angezeigt wird und der Nutzer aufgefordert wird, die Änderung zu bestätigen. Standardmäßig sind geschützte Bereiche oder Tabellenblätter nicht warnungsbasiert. Mit setWarningOnly(warningOnly)
können Sie den Warnstatus ändern.
// 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);
Rückflug
Boolean
: true
, wenn für den geschützten Bereich oder das Tabellenblatt nur eine warnungsbasierte Schutzfunktion verwendet wird.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove()
Schützt den Zellenbereich oder das Tabellenblatt.
// 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(); }
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditor(emailAddress)
Der betreffende Nutzer wird aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich entfernt. Hinweis: Wenn der Nutzer Mitglied einer Google-Gruppe mit Bearbeitungsberechtigung ist oder alle Nutzer in der Domain eine Bearbeitungsberechtigung haben, kann der Nutzer den geschützten Bereich weiterhin bearbeiten. Weder der Eigentümer der Tabelle noch der aktuelle Nutzer kann entfernt werden.
// 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()); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
emailAddress | String | Die E-Mail-Adresse des Nutzers, der entfernt werden soll. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditor(user)
Der betreffende Nutzer wird aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich entfernt. Hinweis: Wenn ein Nutzer Mitglied einer Google-Gruppe mit Bearbeitungsberechtigung ist oder alle Nutzer in der Domain eine Bearbeitungsberechtigung haben, kann er den geschützten Bereich auch bearbeiten. Weder der Eigentümer der Tabelle noch der aktuelle Nutzer kann entfernt werden.
// 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()); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
user | User | Darstellung des zu entfernenden Nutzers |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditors(emailAddresses)
Entfernt die angegebenen Nutzer aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. Hinweis: Wenn ein Nutzer Mitglied einer Google-Gruppe mit Bearbeitungsberechtigung ist oder alle Nutzer in der Domain eine Bearbeitungsberechtigung haben, können diese Nutzer den geschützten Bereich weiterhin bearbeiten. Weder der Eigentümer der Tabelle noch der aktuelle Nutzer kann entfernt werden.
// 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); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
emailAddresses | String[] | Ein Array mit E-Mail-Adressen der Nutzer, die entfernt werden sollen. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeTargetAudience(audienceId)
Die angegebene Zielgruppe wird als Bearbeiter des geschützten Bereichs entfernt.
Parameter
Name | Typ | Beschreibung |
---|---|---|
audienceId | String | Die ID der Zielgruppe, die entfernt werden soll. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setDescription(description)
Legt die Beschreibung des geschützten Bereichs oder Tabellenblatts fest.
// 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);
Parameter
Name | Typ | Beschreibung |
---|---|---|
description | String | Die Beschreibung des geschützten Bereichs oder Tabellenblatts. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setDomainEdit(editable)
Legt fest, ob alle Nutzer in der Domain, der die Tabelle gehört, berechtigt sind, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten. Beachten Sie, dass alle Nutzer mit ausdrücklicher Bearbeitungsberechtigung den geschützten Bereich unabhängig von dieser Einstellung bearbeiten können. Es wird eine Ausnahme ausgelöst, wenn die Tabelle nicht zu einer Google Workspace-Domain gehört, z. B. wenn sie einem gmail.com-Konto gehört.
Parameter
Name | Typ | Beschreibung |
---|---|---|
editable | Boolean | true , wenn alle Nutzer in der Domain, der die Tabelle gehört, die Berechtigung zum Bearbeiten des geschützten Bereichs oder des Tabellenblatts haben sollten. false , wenn nicht. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setNamedRange(namedRange)
Ordnet den geschützten Bereich einem vorhandenen benannten Bereich zu. Wenn der benannte Bereich einen anderen Bereich als den aktuell geschützten Bereich abdeckt, wird mit dieser Methode der Schutz stattdessen auf den benannten Bereich verschoben. Der benannte Bereich muss sich im selben Tabellenblatt wie der aktuelle geschützte Bereich befinden. Beachten Sie, dass Skripts diese Methode explizit aufrufen müssen, um einen geschützten Bereich mit einem benannten Bereich zu verknüpfen. Zum Aufrufen der Schutzmaßnahme aus einem Range
-Element, das ein benannter Bereich ist, ohne setRangeName(rangeName)
aufzurufen, ist die Methode nicht ausreichend. Wenn Sie jedoch in der Google Tabellen-Benutzeroberfläche einen geschützten Bereich aus einem benannten Bereich erstellen, werden diese automatisch verknüpft.
// 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());
Parameter
Name | Typ | Beschreibung |
---|---|---|
namedRange | NamedRange | Der vorhandene benannte Bereich, der mit dem geschützten Bereich verknüpft werden soll. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRange(range)
Passt den geschützten Bereich an. Wenn der angegebene Bereich einen anderen Bereich als den aktuell geschützten Bereich abdeckt, wird mit dieser Methode der Schutz auf den neuen Bereich verschoben.
// 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());
Parameter
Name | Typ | Beschreibung |
---|---|---|
range | Range | Der neue Bereich, um vor Bearbeitungen zu schützen. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRangeName(rangeName)
Ordnet den geschützten Bereich einem vorhandenen benannten Bereich zu. Wenn der benannte Bereich einen anderen Bereich als den aktuell geschützten Bereich abdeckt, wird mit dieser Methode der Schutz stattdessen auf den benannten Bereich verschoben. Der benannte Bereich muss sich im selben Tabellenblatt wie der aktuelle geschützte Bereich befinden. Beachten Sie, dass Skripts diese Methode explizit aufrufen müssen, um einen geschützten Bereich mit einem benannten Bereich zu verknüpfen. Zum Aufrufen der Schutzmaßnahme aus einem Range
-Element, das ein benannter Bereich ist, ohne setRangeName(rangeName)
aufzurufen, ist die Methode nicht ausreichend. Wenn Sie jedoch in der Google Tabellen-Benutzeroberfläche einen geschützten Bereich aus einem benannten Bereich erstellen, werden diese automatisch verknüpft.
// 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.
Parameter
Name | Typ | Beschreibung |
---|---|---|
rangeName | String | Der Name des benannten Bereichs, der geschützt werden soll. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setUnprotectedRanges(ranges)
Schützt das angegebene Array von Bereichen in einem geschützten Tabellenblatt. Löst eine Ausnahme aus, wenn das Protection
-Objekt einem geschützten Bereich anstelle eines geschützten Tabellenblatts entspricht oder wenn einer der Bereiche nicht im geschützten Tabellenblatt enthalten ist. Wenn Sie die nicht geschützten Bereiche ändern möchten, legen Sie ein neues Array mit Bereichen fest. Wenn Sie das gesamte Tabellenblatt noch einmal schützen möchten, legen Sie ein leeres Array fest.
// 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); }
Parameter
Name | Typ | Beschreibung |
---|---|---|
ranges | Range[] | Das Array der Bereiche, die in einem geschützten Tabellenblatt ungeschützt bleiben sollen. |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setWarningOnly(warningOnly)
Legt fest, ob für diesen geschützten Bereich der Schutz vor Warnungen verwendet wird. Eine warnungsbasierte Schutzmaßnahme bedeutet, dass jeder Nutzer Daten in dem Bereich bearbeiten kann, außer dass beim Bearbeiten eine Warnung angezeigt wird und der Nutzer aufgefordert wird, die Änderung zu bestätigen. Standardmäßig sind geschützte Bereiche oder Tabellenblätter nicht warnungenbasiert. Mit isWarningOnly()
können Sie den Warnstatus prüfen.
// 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());
Parameter
Name | Typ | Beschreibung |
---|---|---|
warningOnly | Boolean |
Rückflug
Protection
: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.
Autorisierung
Skripts, die diese Methode verwenden, müssen mit einem oder mehreren der folgenden Bereiche autorisiert werden:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets