Class Protection

Schutz

Auf geschützte Bereiche und Tabellenblätter zugreifen und diese ändern Ein geschützter Bereich kann entweder einen statischen oder einen benannten Zellenbereich 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 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

MethodeRückgabetypKurzbeschreibung
addEditor(emailAddress)ProtectionFügt den angegebenen Nutzer der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu.
addEditor(user)ProtectionFügt den angegebenen Nutzer der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu.
addEditors(emailAddresses)ProtectionFügt das angegebene Array von Nutzern der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu.
addTargetAudience(audienceId)ProtectionFügt die angegebene Zielgruppe als Bearbeiter des geschützten Bereichs hinzu.
canDomainEdit()BooleanErmittelt, ob alle Nutzer in der Domain, zu der die Tabelle gehört, die Berechtigung zum Bearbeiten des geschützten Bereichs oder Tabellenblatts haben.
canEdit()BooleanHiermit wird festgelegt, ob der Nutzer berechtigt ist, den geschützten Bereich oder das Tabellenblatt zu bearbeiten.
getDescription()StringRuft die Beschreibung des geschützten Bereichs oder Tabellenblatts ab
getEditors()User[]Liste der Bearbeiter für den geschützten Bereich oder das geschützte Tabellenblatt abrufen.
getProtectionType()ProtectionTypeHiermit wird der Typ des geschützten Bereichs abgerufen, entweder RANGE oder SHEET.
getRange()RangeRuft den Bereich ab, der geschützt wird.
getRangeName()StringRuft den Namen des geschützten Bereichs ab, wenn er mit einem benannten Bereich verknüpft ist.
getTargetAudiences()TargetAudience[]Gibt die IDs der Zielgruppen zurück, die den geschützten Bereich bearbeiten können
getUnprotectedRanges()Range[]Ruft ein Array von ungeschützten Bereichen innerhalb eines geschützten Tabellenblatts ab.
isWarningOnly()BooleanErmittelt, ob das geschützte Gebiet warnbasiert ist.
remove()voidHebt den Schutz des Bereichs oder des Tabellenblatts auf.
removeEditor(emailAddress)ProtectionEntfernt den angegebenen Nutzer aus der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich.
removeEditor(user)ProtectionEntfernt den angegebenen Nutzer aus der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich.
removeEditors(emailAddresses)ProtectionEntfernt das angegebene Array von Nutzern aus der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich.
removeTargetAudience(audienceId)ProtectionEntfernt die angegebene Zielgruppe als Bearbeiter des geschützten Bereichs.
setDescription(description)ProtectionLegt die Beschreibung des geschützten Bereichs oder Tabellenblatts fest
setDomainEdit(editable)ProtectionLegt fest, ob alle Nutzer in der Domain, zu der die Tabelle gehört, die Berechtigung zum Bearbeiten des geschützten Bereichs oder Tabellenblatts haben.
setNamedRange(namedRange)ProtectionVerknüpft den geschützten Bereich mit einem vorhandenen benannten Bereich.
setRange(range)ProtectionPasst den zu schützenden Bereich an.
setRangeName(rangeName)ProtectionVerknüpft den geschützten Bereich mit einem vorhandenen benannten Bereich.
setUnprotectedRanges(ranges)ProtectionHebt den Schutz des angegebenen Bereichsarrays in einem geschützten Tabellenblatt auf.
setWarningOnly(warningOnly)ProtectionLegt fest, ob für diesen geschützten Bereich der warnungsbasierte Schutz verwendet wird.

Detaillierte Dokumentation

addEditor(emailAddress)

Fügt den angegebenen Nutzer der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu. Bei dieser Methode erhält der 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

NameTypBeschreibung
emailAddressStringDie E-Mail-Adresse des Nutzers, der hinzugefügt werden soll.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addEditor(user)

Fügt den angegebenen Nutzer der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu. Bei dieser Methode erhält der 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

NameTypBeschreibung
userUserEine Darstellung des hinzuzufügenden Nutzers.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addEditors(emailAddresses)

Fügt das angegebene Array von Nutzern der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich hinzu. Durch diese Methode erhält der Nutzer nicht automatisch die Berechtigung, die Tabelle selbst zu bearbeiten. Rufen Sie dazu 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

NameTypBeschreibung
emailAddressesString[]Ein Array mit E-Mail-Adressen der hinzuzufügenden Nutzer.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addTargetAudience(audienceId)

Fügt die angegebene Zielgruppe als Bearbeiter des geschützten Bereichs hinzu.

Parameter

NameTypBeschreibung
audienceIdStringDie ID der Zielgruppe, die hinzugefügt werden soll.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

canDomainEdit()

Ermittelt, ob alle Nutzer in der Domain, zu der die Tabelle gehört, die Berechtigung zum Bearbeiten des geschützten Bereichs oder Tabellenblatts haben. Löst eine Ausnahme aus, wenn der Nutzer nicht berechtigt ist, den geschützten Bereich oder das Tabellenblatt zu bearbeiten.

// 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());

Return

Boolean: true, wenn alle Nutzer in der Domain, zu der die Tabelle gehört, berechtigt sind, den geschützten Bereich oder das Tabellenblatt zu bearbeiten; false, wenn nicht.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

canEdit()

Hiermit wird festgelegt, ob der Nutzer berechtigt ist, den geschützten Bereich oder das Tabellenblatt zu bearbeiten. Der Eigentümer der Tabelle kann jederzeit geschützte Bereiche und Tabellenblätter 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();
  }
}

Return

Boolean: true, wenn der Nutzer berechtigt ist, den geschützten Bereich oder das Tabellenblatt zu bearbeiten; andernfalls false

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • 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);

Return

String – Die Beschreibung des geschützten Bereichs oder Tabellenblatts oder ein leerer String, wenn keine Beschreibung festgelegt wurde.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getEditors()

Liste der Bearbeiter für den geschützten Bereich oder das geschützte Tabellenblatt abrufen. Löst eine Ausnahme aus, wenn der Nutzer nicht berechtigt ist, den geschützten Bereich oder das Tabellenblatt zu bearbeiten.

// 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);
}

Return

User[]: ein Array von Nutzern mit der Berechtigung zum Bearbeiten des geschützten Bereichs oder Tabellenblatts

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getProtectionType()

Hiermit wird der Typ des geschützten Bereichs abgerufen, 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());

Return

ProtectionType: Die Art des Schutzgebiets, RANGE oder SHEET.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

Ruft den Bereich ab, der geschützt wird. Wenn der Schutz nicht auf einen Bereich, sondern auf das Tabellenblatt angewendet wird, gibt diese Methode einen Bereich zurück, der sich über das gesamte Tabellenblatt erstreckt.

// 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());

Return

Range: Der Bereich, der geschützt wird.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRangeName()

Ruft den Namen des geschützten Bereichs ab, wenn er mit einem benannten Bereich verknüpft ist. Gibt null zurück, wenn der Schutz nicht mit einem benannten Bereich verknüpft ist. Skripts müssen setRangeName(rangeName) explizit aufrufen, um einen geschützten Bereich mit einem benannten Bereich zu verknüpfen. Ein Aufruf von Range.protect() zum Erstellen eines Schutzes aus einem Range, der zufällig ein benannter Bereich ist, reicht ohne den Aufruf von setRangeName(rangeName) nicht aus, um einen Schutz zu verknüpfen. Wenn Sie jedoch in der Google Tabellen-UI einen geschützten Bereich aus einem benannten Bereich erstellen, wird er 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.

Return

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, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • 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

Return

TargetAudience[]: Ein Array der IDs der Zielgruppen.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getUnprotectedRanges()

Ruft ein Array von ungeschützten Bereichen innerhalb eines geschützten Tabellenblatts ab. Wenn das Objekt Protection einem geschützten Bereich und nicht einem geschützten Tabellenblatt entspricht, gibt diese Methode ein leeres Array zurück. Wenn Sie die ungeschützten Bereiche ändern möchten, legen Sie mit setUnprotectedRanges(ranges) ein neues Bereichsarray fest. 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.
var sheet = SpreadsheetApp.getActiveSheet();
var protection = sheet.protect();
var unprotected = protection.getUnprotectedRanges();
unprotected.push(sheet.getRange('E2:F5'));
protection.setUnprotectedRanges(unprotected);

Return

Range[]: ein Array ungeschützter Bereiche in einem geschützten Tabellenblatt

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isWarningOnly()

Ermittelt, ob das geschützte Gebiet warnbasiert ist. Warnungsbasierter Schutz bedeutet, dass jeder Nutzer Daten in dem Bereich bearbeiten kann. Beim Bearbeiten wird jedoch eine Warnung angezeigt, in der er aufgefordert wird, die Änderung zu bestätigen. Standardmäßig basieren geschützte Bereiche oder Tabellenblätter nicht auf Warnungen. Verwenden Sie setWarningOnly(warningOnly), um zum 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);

Return

Boolean: true, wenn für den geschützten Bereich oder das geschützte Tabellenblatt nur warnungsbasierte Schutzfunktionen verwendet werden.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove()

Hebt den Schutz des Bereichs oder des Tabellenblatts auf.

// 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, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeEditor(emailAddress)

Entfernt den angegebenen Nutzer aus der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. Wenn der Nutzer Mitglied einer Google Groups-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

NameTypBeschreibung
emailAddressStringDie E-Mail-Adresse des Nutzers, der entfernt werden soll.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeEditor(user)

Entfernt den angegebenen Nutzer aus der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. Wenn der Nutzer Mitglied einer Google Groups-Gruppe mit Bearbeitungsberechtigung ist oder wenn alle Nutzer in der Domain eine Bearbeitungsberechtigung haben, kann der Nutzer den geschützten Bereich ebenfalls 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');

// 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

NameTypBeschreibung
userUserEine Darstellung des Nutzers, der entfernt werden soll.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeEditors(emailAddresses)

Entfernt das angegebene Array von Nutzern aus der Liste der Bearbeiter für das geschützte Tabellenblatt oder den geschützten Bereich. Wenn Nutzer Mitglied einer Google Groups-Gruppe mit Bearbeitungsberechtigung sind oder wenn 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

NameTypBeschreibung
emailAddressesString[]Ein Array mit E-Mail-Adressen der zu entfernenden Nutzer.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeTargetAudience(audienceId)

Entfernt die angegebene Zielgruppe als Bearbeiter des geschützten Bereichs.

Parameter

NameTypBeschreibung
audienceIdStringDie ID der zu entfernenden Zielgruppe.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • 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

NameTypBeschreibung
descriptionStringDie Beschreibung des geschützten Bereichs oder Tabellenblatts.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setDomainEdit(editable)

Legt fest, ob alle Nutzer in der Domain, zu der die Tabelle gehört, die Berechtigung zum Bearbeiten des geschützten Bereichs oder Tabellenblatts haben. Alle Nutzer mit expliziter Bearbeitungsberechtigung können das geschützte Gebiet 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 zu einem gmail.com-Konto gehört.

Parameter

NameTypBeschreibung
editableBooleantrue, wenn alle Nutzer in der Domain, zu der die Tabelle gehört, die Berechtigung zum Bearbeiten des geschützten Bereichs oder Tabellenblatts haben sollen; false, wenn nicht.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setNamedRange(namedRange)

Verknüpft den geschützten Bereich mit einem vorhandenen benannten Bereich. Wenn der benannte Bereich einen anderen Bereich als der aktuelle geschützte Bereich abdeckt, wird der Schutz mit dieser Methode so verschoben, dass er stattdessen den benannten Bereich abdeckt. Der benannte Bereich muss sich auf demselben 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. Der Aufruf von Range.protect() zum Erstellen eines Schutzes aus einem Range, der ein benannter Bereich ist, reicht ohne den Aufruf von setRangeName(rangeName) nicht aus, um sie zu verknüpfen. Wenn Sie jedoch in der Google Tabellen-UI einen geschützten Bereich aus einem benannten Bereich erstellen, wird er automatisch zugeordnet.

// 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

NameTypBeschreibung
namedRangeNamedRangeDer vorhandene benannte Bereich, der mit dem geschützten Bereich verknüpft werden soll.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setRange(range)

Passt den zu schützenden Bereich an. Wenn der angegebene Bereich einen anderen Bereich als der aktuelle geschützte Bereich abdeckt, wird der Schutz mit dieser Methode so verschoben, dass er stattdessen den neuen Bereich abdeckt.

// 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

NameTypBeschreibung
rangeRangeDer neue Bereich, der vor Änderungen geschützt werden soll.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setRangeName(rangeName)

Verknüpft den geschützten Bereich mit einem vorhandenen benannten Bereich. Wenn der benannte Bereich einen anderen Bereich als der aktuelle geschützte Bereich abdeckt, wird der Schutz mit dieser Methode so verschoben, dass er stattdessen den benannten Bereich abdeckt. Der benannte Bereich muss sich auf demselben 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. Der Aufruf von Range.protect() zum Erstellen eines Schutzes aus einem Range, der ein benannter Bereich ist, reicht ohne den Aufruf von setRangeName(rangeName) nicht aus, um sie zu verknüpfen. Wenn Sie jedoch in der Google Tabellen-UI einen geschützten Bereich aus einem benannten Bereich erstellen, wird er automatisch zugeordnet.

// 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

NameTypBeschreibung
rangeNameStringDer Name des benannten Bereichs, der geschützt werden soll.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setUnprotectedRanges(ranges)

Hebt den Schutz des angegebenen Bereichsarrays in einem geschützten Tabellenblatt auf. Löst eine Ausnahme aus, wenn das Protection-Objekt einem geschützten Bereich statt einem geschützten Tabellenblatt entspricht oder wenn sich einer der Bereiche nicht auf dem geschützten Tabellenblatt befindet. Um die ungeschützten Bereiche zu ändern, legen Sie ein neues Array von Bereichen fest. Um das gesamte Tabellenblatt wieder zu schützen, 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

NameTypBeschreibung
rangesRange[]Das Array der Bereiche, die in einem geschützten Tabellenblatt ungeschützt bleiben sollen.

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • 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 warnungsbasierte Schutz verwendet wird. Der warnungsbasierte Schutz bedeutet, dass jeder Nutzer Daten in dem Bereich bearbeiten kann. Beim Bearbeiten wird aber eine Warnung angezeigt, in der der Nutzer aufgefordert wird, die Änderung zu bestätigen. Standardmäßig basieren geschützte Bereiche oder Tabellenblätter nicht auf Warnungen. Verwenden Sie isWarningOnly(), 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

NameTypBeschreibung
warningOnlyBoolean

Return

Protection: Das Objekt, das die Schutzeinstellungen für die Verkettung darstellt.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets