Auf geschützte Bereiche und Tabellenblätter zugreifen und diese ändern. Ein geschützter Bereich kann entweder einen statischen Zellenbereich oder einen benannten Bereich schützen. Ein geschütztes Tabellenblatt kann ungeschützte Bereiche enthalten. Verwenden Sie für Tabellen, die mit der älteren Version von Google Tabellen erstellt wurden, stattdessen die Klasse .
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); }
Methoden
| Methode | Rückgabetyp | Kurzbeschreibung |
|---|---|---|
add | Protection | Fügt den angegebenen Nutzer der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu. |
add | Protection | Fügt den angegebenen Nutzer der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu. |
add | Protection | Fügt das angegebene Nutzer-Array der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu. |
add | Protection | Fügt die angegebene Zielgruppe als Bearbeiter des geschützten Bereichs hinzu. |
can | Boolean | Legt fest, ob alle Nutzer in der Domain, zu der die Tabelle gehört, die Berechtigung haben, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten. |
can | Boolean | Gibt an, ob der Nutzer berechtigt ist, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten. |
get | String | Ruft die Beschreibung des geschützten Bereichs oder Tabellenblatts ab. |
get | User[] | Ruft die Liste der Mitbearbeiter für den geschützten Bereich oder das geschützte Tabellenblatt ab. |
get | Protection | Ruft den Typ des geschützten Bereichs ab, entweder RANGE oder SHEET. |
get | Range | Ruft den Bereich ab, der geschützt wird. |
get | String|null | Ruft den Namen des geschützten Bereichs ab, wenn er einem benannten Bereich zugeordnet ist. |
get | Target | Gibt die IDs der Zielgruppen zurück, die den geschützten Bereich bearbeiten dürfen. |
get | Range[] | Ruft ein Array mit ungeschützten Bereichen in einem geschützten Tabellenblatt ab. |
is | Boolean | Gibt an, ob für den geschützten Bereich ein „warnungsbasierter“ Schutz verwendet wird. |
remove() | void | Hebt den Schutz für den Bereich oder das Tabellenblatt auf. |
remove | Protection | Entfernt den angegebenen Nutzer aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. |
remove | Protection | Entfernt den angegebenen Nutzer aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. |
remove | Protection | Entfernt das angegebene Array von Nutzern aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. |
remove | Protection | Entfernt die angegebene Zielgruppe als Bearbeiter des geschützten Bereichs. |
set | Protection | Legt die Beschreibung des geschützten Bereichs oder Tabellenblatts fest. |
set | Protection | Legt fest, ob alle Nutzer in der Domain, zu der die Tabelle gehört, die Berechtigung haben, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten. |
set | Protection | Ordnet den geschützten Bereich einem vorhandenen benannten Bereich zu. |
set | Protection | Passt den geschützten Bereich an. |
set | Protection | Ordnet den geschützten Bereich einem vorhandenen benannten Bereich zu. |
set | Protection | Hebt den Schutz für das angegebene Array von Bereichen in einem geschützten Tabellenblatt auf. |
set | Protection | Legt fest, ob für diesen geschützten Bereich der „warnungsbasierte“ Schutz verwendet wird. |
Detaillierte Dokumentation
add Editor(emailAddress)
Fügt den angegebenen Nutzer der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu. Diese Methode gewährt dem Nutzer nicht automatisch die Berechtigung, die Tabelle selbst zu bearbeiten. Rufen Sie dazu zusätzlich 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 |
|---|---|---|
email | String | Die E-Mail-Adresse des Nutzers, den Sie hinzufügen möchten. |
Rückflug
Protection: Das Objekt, das die Schutzeinstellungen darstellt, zum Verketten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
add Editor(user)
Fügt den angegebenen Nutzer der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu. Diese Methode gewährt dem Nutzer nicht automatisch die Berechtigung, die Tabelle selbst zu bearbeiten. Rufen Sie dazu zusätzlich 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 darstellt, zum Verketten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
add Editors(emailAddresses)
Fügt das angegebene Nutzer-Array der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu. Mit dieser Methode erhalten die Nutzer nicht automatisch die Berechtigung, die Tabelle selbst zu bearbeiten. 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 |
|---|---|---|
email | String[] | Ein Array mit den E‑Mail-Adressen der Nutzer, die hinzugefügt werden sollen. |
Rückflug
Protection: Das Objekt, das die Schutzeinstellungen darstellt, zum Verketten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
add Target Audience(audienceId)
Fügt die angegebene Zielgruppe als Bearbeiter des geschützten Bereichs hinzu.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
audience | String | Die ID der Zielgruppe, die hinzugefügt werden soll. |
Rückflug
Protection: Das Objekt, das die Schutzeinstellungen darstellt, zum Verketten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
can Domain Edit()
Legt fest, ob alle Nutzer in der Domain, zu der die Tabelle gehört, die Berechtigung haben, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten. Löst eine Ausnahme aus, wenn der Nutzer keine Berechtigung zum Bearbeiten des geschützten Bereichs oder Blatts 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, zu der das Tabellenblatt gehört, berechtigt sind, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten; false, wenn dies nicht der Fall ist.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
can Edit()
Gibt an, ob der Nutzer berechtigt ist, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten. Der Tabelleneigentümer kann geschützte Bereiche und Tabellenblätter immer bearbeiten.
// 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(); } }
Rückflug
Boolean – true, wenn der Nutzer berechtigt ist, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten; false, wenn nicht
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Description()
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
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Editors()
Ruft die Liste der Mitbearbeiter 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 Blatts hat.
// 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); }
Rückflug
User[]: Ein Array von Nutzern mit der Berechtigung, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Protection Type()
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
Protection: Der Typ des Schutzgebiets, entweder RANGE oder SHEET.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Range()
Ruft den Bereich ab, der geschützt wird. Wenn der Schutz für das Tabellenblatt und nicht für einen Bereich gilt, wird mit dieser Methode ein Bereich zurückgegeben, 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: Der Bereich, der geschützt wird.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Range Name()
Ruft den Namen des geschützten Bereichs ab, wenn er einem benannten Bereich zugeordnet ist. Gibt null zurück, wenn der Schutz nicht mit einem benannten Bereich verknüpft ist. Hinweis: In Skripts muss set explizit aufgerufen werden, um einen geschützten Bereich einem benannten Bereich zuzuordnen. Wenn Sie Range.protect() aufrufen, um einen Schutz für ein Range zu erstellen, das zufällig ein benannter Bereich ist, ohne set aufzurufen, reicht das nicht aus, um die beiden Bereiche zuzuordnen. Wenn Sie jedoch in der Google Sheets-Benutzeroberfläche einen geschützten Bereich aus einem benannten Bereich erstellen, werden sie automatisch verknüpft.
// 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.
Rückflug
String|null: Der Name des geschützten benannten Bereichs oder null, wenn der geschützte Bereich nicht mit einem benannten Bereich verknüpft ist.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Target Audiences()
Gibt die IDs der Zielgruppen zurück, die den geschützten Bereich bearbeiten dürfen.
Rückflug
Target: Ein Array mit den IDs der Zielgruppen.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
get Unprotected Ranges()
Ruft ein Array mit ungeschützten Bereichen in einem geschützten Tabellenblatt ab. Wenn das Protection-Objekt einem geschützten Bereich anstelle eines geschützten Blatts entspricht, gibt diese Methode ein leeres Array zurück. Wenn Sie die ungeschützten Bereiche ändern möchten, verwenden Sie set, um ein neues Array von Bereichen festzulegen. Wenn Sie das gesamte Tabellenblatt wieder 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. const sheet = SpreadsheetApp.getActiveSheet(); const protection = sheet.protect(); const unprotected = protection.getUnprotectedRanges(); unprotected.push(sheet.getRange('E2:F5')); protection.setUnprotectedRanges(unprotected);
Rückflug
Range[]: Ein Array mit ungeschützten Bereichen in einem geschützten Tabellenblatt
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
is Warning Only()
Gibt an, ob für den geschützten Bereich ein „warnungsbasierter“ Schutz verwendet wird. Beim warnungsbasierten Schutz kann jeder Nutzer Daten im Bereich bearbeiten. Allerdings wird eine Warnung angezeigt, in der der Nutzer aufgefordert wird, die Bearbeitung zu bestätigen. Standardmäßig sind geschützte Bereiche oder Tabellenblätter nicht warnungsbasiert. Verwenden Sie set, um in den Warnstatus zu wechseln.
// 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 geschützte Tabellenblatt nur Warnungen als Schutzmaßnahme verwendet werden.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove()
Hebt den Schutz für den Bereich oder das Tabellenblatt auf.
// 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(); }
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Editor(emailAddress)
Entfernt den angegebenen Nutzer aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. Wenn der Nutzer Mitglied einer Google-Gruppe mit Bearbeitungsberechtigung ist oder alle Nutzer in der Domain Bearbeitungsberechtigungen haben, kann der Nutzer den geschützten Bereich weiterhin bearbeiten. Weder der Eigentümer der Tabelle noch der aktuelle Nutzer können 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 |
|---|---|---|
email | String | Die E‑Mail-Adresse des Nutzers, der entfernt werden soll. |
Rückflug
Protection: Das Objekt, das die Schutzeinstellungen darstellt, zum Verketten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Editor(user)
Entfernt den angegebenen Nutzer aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. Wenn der Nutzer Mitglied einer Google-Gruppe mit Bearbeitungsberechtigung ist oder alle Nutzer in der Domain Bearbeitungsberechtigungen haben, kann der Nutzer den geschützten Bereich trotzdem bearbeiten. Weder der Inhaber der Tabelle noch der aktuelle Nutzer können 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 | Eine Darstellung des zu entfernenden Nutzers. |
Rückflug
Protection – das Objekt, das die Schutzeinstellungen darstellt, zum Verketten
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Editors(emailAddresses)
Entfernt das angegebene Array von Nutzern aus der Liste der Mitbearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. Wenn einer der Nutzer Mitglied einer Google-Gruppe mit Bearbeitungsberechtigung ist oder alle Nutzer in der Domain Bearbeitungsberechtigungen haben, können diese Nutzer den geschützten Bereich weiterhin bearbeiten. Weder der Eigentümer der Tabelle noch der aktuelle Nutzer können entfernt werden.
// 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); }
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
email | String[] | Ein Array mit den E-Mail-Adressen der Nutzer, die entfernt werden sollen. |
Rückflug
Protection – das Objekt, das die Schutzeinstellungen darstellt, zum Verketten
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
remove Target Audience(audienceId)
Entfernt die angegebene Zielgruppe als Bearbeiter des geschützten Bereichs.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
audience | String | Die ID der zu entfernenden Zielgruppe. |
Rückflug
Protection: Das Objekt, das die Schutzeinstellungen darstellt, zum Verketten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Description(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 darstellt, zum Verketten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Domain Edit(editable)
Legt fest, ob alle Nutzer in der Domain, zu der die Tabelle gehört, die Berechtigung haben, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten. Nutzer mit expliziter Bearbeitungsberechtigung können den geschützten Bereich unabhängig von dieser Einstellung bearbeiten. Löst eine Ausnahme aus, wenn die Tabelle nicht zu einer Google Workspace-Domain gehört (d. h., wenn sie einem gmail.com-Konto gehört).
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
editable | Boolean | true, wenn alle Nutzer in der Domain, zu der die Tabelle gehört, die Berechtigung haben sollen, den geschützten Bereich oder das geschützte Tabellenblatt zu bearbeiten; false, wenn nicht. |
Rückflug
Protection – das Objekt, das die Schutzeinstellungen darstellt, zum Verketten
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Named Range(namedRange)
Ordnet den geschützten Bereich einem vorhandenen benannten Bereich zu. Wenn der benannte Bereich einen anderen Bereich als den aktuellen geschützten Bereich abdeckt, wird der Schutz mit dieser Methode auf den benannten Bereich verschoben. Der benannte Bereich muss sich auf demselben Tabellenblatt wie der aktuelle geschützte Bereich befinden. Hinweis: In Skripts muss diese Methode explizit aufgerufen werden, um einen geschützten Bereich einem benannten Bereich zuzuordnen. Wenn Sie Range.protect() aufrufen, um einen Schutz für ein Range zu erstellen, das zufällig ein benannter Bereich ist, ohne set aufzurufen, reicht das nicht aus, um die beiden zuzuordnen. Wenn Sie jedoch einen geschützten Bereich aus einem benannten Bereich in der Google Sheets-Benutzeroberfläche erstellen, werden sie 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 |
|---|---|---|
named | Named | Der vorhandene benannte Bereich, der dem geschützten Bereich zugeordnet werden soll. |
Rückflug
Protection: Das Objekt, das die Schutzeinstellungen darstellt, zum Verketten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Range(range)
Passt den geschützten Bereich an. Wenn der angegebene Bereich einen anderen Bereich als den aktuell geschützten Bereich abdeckt, wird der Schutz mit dieser Methode auf den neuen Bereich übertragen.
// 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, der vor Änderungen geschützt werden soll. |
Rückflug
Protection: Das Objekt, das die Schutzeinstellungen darstellt, zum Verketten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Range Name(rangeName)
Ordnet den geschützten Bereich einem vorhandenen benannten Bereich zu. Wenn der benannte Bereich einen anderen Bereich als den aktuellen geschützten Bereich abdeckt, wird der Schutz mit dieser Methode auf den benannten Bereich verschoben. Der benannte Bereich muss sich auf demselben Tabellenblatt wie der aktuelle geschützte Bereich befinden. Hinweis: In Skripts muss diese Methode explizit aufgerufen werden, um einen geschützten Bereich einem benannten Bereich zuzuordnen. Wenn Sie Range.protect() aufrufen, um einen Schutz für ein Range zu erstellen, das zufällig ein benannter Bereich ist, ohne set aufzurufen, reicht das nicht aus, um die beiden zuzuordnen. Wenn Sie jedoch einen geschützten Bereich aus einem benannten Bereich in der Google Sheets-Benutzeroberfläche erstellen, werden sie automatisch verknüpft.
// 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.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
range | String | Der Name des zu schützenden benannten Bereichs. |
Rückflug
Protection – das Objekt, das die Schutzeinstellungen darstellt, zum Verketten
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Unprotected Ranges(ranges)
Hebt den Schutz für das angegebene Array von Bereichen in einem geschützten Tabellenblatt auf. Löst eine Ausnahme aus, wenn das Protection-Objekt einem geschützten Bereich anstelle eines geschützten Tabellenblatts entspricht oder wenn sich einer der Bereiche nicht auf dem geschützten Tabellenblatt befindet. Wenn Sie die ungeschützten Bereiche ändern möchten, legen Sie ein neues Array von Bereichen fest. Wenn Sie das gesamte Tabellenblatt wieder 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. 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); }
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
ranges | Range[] | Das Array der Bereiche, die in einem geschützten Tabellenblatt nicht geschützt werden sollen. |
Rückflug
Protection – das Objekt, das die Schutzeinstellungen darstellt, zum Verketten
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
set Warning Only(warningOnly)
Legt fest, ob für diesen geschützten Bereich der „warnungsbasierte“ Schutz verwendet wird. Bei Warnmeldungen als Schutzmaßnahme kann jeder Nutzer Daten im Bereich bearbeiten. Allerdings wird bei jeder Bearbeitung eine Warnmeldung angezeigt, in der der Nutzer aufgefordert wird, die Bearbeitung zu bestätigen. Standardmäßig sind geschützte Bereiche oder Tabellenblätter nicht warnungsbasiert. Verwenden Sie is, um den Warnstatus zu 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 |
|---|---|---|
warning | Boolean |
Rückflug
Protection: Das Objekt, das die Schutzeinstellungen darstellt, zum Verketten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets