Class Protection

Koruma

Korunan aralıklara ve sayfalara erişme ve bunları değiştirme Korumalı aralık, hücre aralığı veya adlandırılmış aralık. Korunan sayfalar, korumasız bölgeler içerebilir. Örneğin, E-Tablolar'ın eski sürümüyle oluşturulan e-tablolar için PageProtection sınıfını kullanır.

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

Yöntemler

YöntemDönüş türüKısa açıklama
addEditor(emailAddress)ProtectionBelirtilen kullanıcıyı, korunan sayfa veya aralık için düzenleyenler listesine ekler.
addEditor(user)ProtectionBelirtilen kullanıcıyı, korunan sayfa veya aralık için düzenleyenler listesine ekler.
addEditors(emailAddresses)ProtectionBelirtilen kullanıcı dizisini, korunan sayfa veya aralık için düzenleyenler listesine ekler.
addTargetAudience(audienceId)ProtectionBelirtilen hedef kitleyi, korunan aralığın düzenleyicisi olarak ekler.
canDomainEdit()BooleanE-tablonun sahibi olan alan adındaki tüm kullanıcıların düzenleme izni olup olmadığını belirler korunduğu aralık veya sayfada yer alır.
canEdit()BooleanKullanıcının korunan aralığı veya sayfayı düzenleme izni olup olmadığını belirler.
getDescription()StringKorunan aralığın veya sayfanın açıklamasını alır.
getEditors()User[]Korunan aralık veya sayfa için düzenleyicilerin listesini alır.
getProtectionType()ProtectionTypeKorunan alanın türünü (RANGE veya SHEET) alır.
getRange()RangeKorunan aralığı alır.
getRangeName()StringAdlandırılmış bir aralıkla ilişkiliyse korunan aralığın adını alır.
getTargetAudiences()TargetAudience[]Korunan aralığı düzenleyebilecek hedef kitlelerin kimliklerini döndürür.
getUnprotectedRanges()Range[]Korunan bir sayfadaki korumasız aralıklar dizisini alır.
isWarningOnly()BooleanKorunan alanın "uyarıya dayalı" olup olmadığını belirler ve korur.
remove()voidAralığın veya sayfanın korumasını kaldırır.
removeEditor(emailAddress)ProtectionBelirtilen kullanıcıyı, korunan sayfa veya aralık için düzenleyenler listesinden kaldırır.
removeEditor(user)ProtectionBelirtilen kullanıcıyı, korunan sayfa veya aralık için düzenleyenler listesinden kaldırır.
removeEditors(emailAddresses)ProtectionBelirtilen kullanıcı dizisini, korunan sayfa veya aralık için düzenleyenler listesinden kaldırır.
removeTargetAudience(audienceId)ProtectionKorunan aralığın düzenleyicisi olarak belirtilen hedef kitleyi kaldırır.
setDescription(description)ProtectionKorunan aralığın veya sayfanın açıklamasını ayarlar.
setDomainEdit(editable)ProtectionE-tablonun sahibi olan alandaki tüm kullanıcıların korunmuş aralık veya sayfa.
setNamedRange(namedRange)ProtectionKorunan aralığı mevcut bir adlandırılmış aralıkla ilişkilendirir.
setRange(range)ProtectionKorunan aralığı ayarlar.
setRangeName(rangeName)ProtectionKorunan aralığı mevcut bir adlandırılmış aralıkla ilişkilendirir.
setUnprotectedRanges(ranges)ProtectionKorunan bir sayfada belirtilen aralık dizisinin korumasını kaldırır.
setWarningOnly(warningOnly)ProtectionBu korunan aralığın "uyarıya dayalı" kullanıp kullanmadığını belirler ve korur.

Ayrıntılı belgeler

addEditor(emailAddress)

Belirtilen kullanıcıyı, korunan sayfa veya aralık için düzenleyenler listesine ekler. Bu yöntem kullanıcıya e-tablonun kendisini otomatik olarak düzenleme izni vermemelidir; bunu da ek olarak, Spreadsheet.addEditor(emailAddress) numaralı telefonu arayın.

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

Parametreler

AdTürAçıklama
emailAddressStringEklenecek kullanıcının e-posta adresi.

Return

Protection — Zincirleme için koruma ayarlarını temsil eden nesne.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

addEditor(user)

Belirtilen kullanıcıyı, korunan sayfa veya aralık için düzenleyenler listesine ekler. Bu yöntem kullanıcıya e-tablonun kendisini otomatik olarak düzenleme izni vermemelidir; bunu da ek olarak, Spreadsheet.addEditor(user) numaralı telefonu arayın.

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

Parametreler

AdTürAçıklama
userUserEklenecek kullanıcıyı gösteren bir temsil.

Return

Protection — Zincirleme için koruma ayarlarını temsil eden nesne.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

addEditors(emailAddresses)

Belirtilen kullanıcı dizisini, korunan sayfa veya aralık için düzenleyenler listesine ekler. Bu yöntemi, kullanıcılara e-tablonun kendisini otomatik olarak düzenleme izni vermez; yapılacaklar Buna ek olarak, Spreadsheet.addEditors(emailAddresses) numaralı telefonu arayın.

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

Parametreler

AdTürAçıklama
emailAddressesString[]Eklenecek kullanıcıların e-posta adresleri dizisi.

Return

Protection — Zincirleme için koruma ayarlarını temsil eden nesne.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

addTargetAudience(audienceId)

Belirtilen hedef kitleyi, korunan aralığın düzenleyicisi olarak ekler.

Parametreler

AdTürAçıklama
audienceIdStringEklenecek hedef kitlenin kimliği.

Return

Protection — Zincirleme için koruma ayarlarını temsil eden nesne.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

canDomainEdit()

E-tablonun sahibi olan alan adındaki tüm kullanıcıların düzenleme izni olup olmadığını belirler korunduğu aralık veya sayfada yer alır. Kullanıcının düzenleme izni yoksa bir istisna atar korunduğu aralık veya sayfada yer alır.

// 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 — E-tablonun sahibi olan alanda yer alan tüm kullanıcıların şunları yapma izni varsa: true korunan aralığı veya sayfayı düzenleme; Aksi takdirde false.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

canEdit()

Kullanıcının korunan aralığı veya sayfayı düzenleme izni olup olmadığını belirler. İlgili içeriği oluşturmak için kullanılan e-tablo sahibi, korunan aralıkları ve sayfaları her zaman düzenleyebilir.

// 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 — Kullanıcının korunan aralığı veya sayfayı düzenleme izni varsa true; Değilse false

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

getDescription()

Korunan aralığın veya sayfanın açıklamasını alır. Açıklama ayarlanmazsa bu yöntem boş bir dize döndürür.

// 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: Korunan aralığın veya sayfanın açıklaması ya da açıklama yoksa boş dize ayarlandı.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

getEditors()

Korunan aralık veya sayfa için düzenleyicilerin listesini alır. Kullanıcı aşağıdaki durumda bir istisna atar korunan aralığı veya sayfayı düzenleme iznine sahip değil.

// 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[]: Korunan aralığı veya sayfayı düzenleme izni olan bir kullanıcı dizisi

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

getProtectionType()

Korunan alanın türünü (RANGE veya SHEET) alır.

// 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 — Korunan alanın türü (RANGE veya SHEET).

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

getRange()

Korunan aralığı alır. Koruma, bu yöntem, tüm sayfayı kapsayan bir aralık döndürür.

// 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 — Korunan aralık.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

getRangeName()

Adlandırılmış bir aralıkla ilişkiliyse korunan aralığın adını alır. Koruma adlandırılmış bir aralıkla ilişkilendirilmemişse null değerini döndürür. Komut dosyalarının açık bir şekilde korumalı bir aralığı adlandırılmış aralıkla ilişkilendirmek için setRangeName(rangeName) komutunu çağırın; arama Range.protect() olan bir Range koruması oluşturmak için adlandırılmış aralık, setRangeName(rangeName) çağrılmadan, ilişkilendirmek için yeterli değildir gerekir. Ancak, Google E-Tablolar kullanıcı arayüzündeki ilişkilendirmelerde adlandırılmış bir aralıktan korumalı aralık oluşturmak otomatik olarak da oluşturabilirsiniz.

// 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 — korunan adlandırılmış aralığın adı veya korunan aralık değilse null adlandırılmış bir aralıkla ilişkili

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

getTargetAudiences()

Korunan aralığı düzenleyebilecek hedef kitlelerin kimliklerini döndürür.

Return

TargetAudience[] — Hedef kitlelerin kimlik dizisi.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

getUnprotectedRanges()

Korunan bir sayfadaki korumasız aralıklar dizisini alır. Protection nesnesi bir sayfa yerine korumalı bir aralığa karşılık gelirse, bu yöntem boş bir dizisidir. Korumasız aralıkları değiştirmek için setUnprotectedRanges(ranges) işlevini kullanarak bir yeni aralık dizisi; tüm sayfayı yeniden korumak için boş bir dizi ayarlayın.

// 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[]: Korunan bir sayfadaki korumasız aralıklar dizisi

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

isWarningOnly()

Korunan alanın "uyarıya dayalı" olup olmadığını belirler ve korur. Uyarıya dayalı koruma Bu, her kullanıcının alandaki verileri düzenleyebileceği anlamına gelir. Ancak düzenleme sırasında düzenlemesini onaylamasını isteyin. Varsayılan olarak, korunan aralıklar veya sayfalar uyarı tabanlı değildir. Alıcı: uyarı durumuna geçmek için setWarningOnly(warningOnly) kullanın.

// 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 — Korunan aralık veya sayfada yalnızca uyarıya dayalı koruma kullanılıyorsa true.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

remove()

Aralığın veya sayfanın korumasını kaldırır.

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

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

removeEditor(emailAddress)

Belirtilen kullanıcıyı, korunan sayfa veya aralık için düzenleyenler listesinden kaldırır. Lütfen kullanıcı, düzenleme iznine sahip bir Google Grubu'nun üyesiyse veya alandaki tüm kullanıcılar kullanıcılar, düzenleme iznine sahip olduklarında korunan alanı düzenleyebilir. Sahip değil veya geçerli kullanıcı kaldırılabilir.

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

Parametreler

AdTürAçıklama
emailAddressStringKaldırılacak kullanıcının e-posta adresi.

Return

Protection — Zincirleme için koruma ayarlarını temsil eden nesne.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

removeEditor(user)

Belirtilen kullanıcıyı, korunan sayfa veya aralık için düzenleyenler listesinden kaldırır. Lütfen kullanıcı, düzenleme iznine sahip bir Google Grubu'nun üyesiyse veya alandaki tüm kullanıcılar düzenleme izni varsa kullanıcı korunan alanı da düzenleyebilir. Ne e-tablonun sahibi veya geçerli kullanıcı kaldırılabilir.

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

Parametreler

AdTürAçıklama
userUserKaldırılacak kullanıcıyı gösteren bir temsil.

Return

Protection — zincirleme için koruma ayarlarını temsil eden nesne

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

removeEditors(emailAddresses)

Belirtilen kullanıcı dizisini, korunan sayfa veya aralık için düzenleyenler listesinden kaldırır. Kullanıcılardan herhangi biri, düzenleme iznine sahip bir Google Grubu'nun üyesiyse veya tüm alandaki kullanıcılar düzenleme iznine sahipse, bu kullanıcılar korunan alanı. E-tablonun sahibi veya geçerli kullanıcı kaldırılamaz.

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

Parametreler

AdTürAçıklama
emailAddressesString[]Kaldırılacak kullanıcılara ait bir e-posta adresi dizisi.

Return

Protection — zincirleme için koruma ayarlarını temsil eden nesne

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

removeTargetAudience(audienceId)

Korunan aralığın düzenleyicisi olarak belirtilen hedef kitleyi kaldırır.

Parametreler

AdTürAçıklama
audienceIdStringKaldırılacak hedef kitlenin kimliği.

Return

Protection — Zincirleme için koruma ayarlarını temsil eden nesne.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

setDescription(description)

Korunan aralığın veya sayfanın açıklamasını ayarlar.

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

Parametreler

AdTürAçıklama
descriptionStringKorunan aralığın veya sayfanın açıklaması.

Return

Protection — Zincirleme için koruma ayarlarını temsil eden nesne.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

setDomainEdit(editable)

E-tablonun sahibi olan alandaki tüm kullanıcıların korunmuş aralık veya sayfa. Açık düzenleme izni olan tüm kullanıcıların şu işlemleri yapabileceğini unutmayın: bu ayara bakılmaksızın, korunan alanı düzenleyebilirsiniz. E-tablo aşağıdaki durumda bir istisna atar Bir Google Workspace alanına (yani bir gmail.com hesabına aitse) ait olmamalıdır.

Parametreler

AdTürAçıklama
editableBooleantrue (E-tablonun sahibi olan alan adındaki tüm kullanıcılar korunan aralığı veya sayfayı düzenleme izni; Değilse false.

Return

Protection — zincirleme için koruma ayarlarını temsil eden nesne

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

setNamedRange(namedRange)

Korunan aralığı mevcut bir adlandırılmış aralıkla ilişkilendirir. Adlandırılan aralık bir farklı bir alana ayarlanırsa bu yöntem, korumayı adlandırılmış aralığı kullanın. Adlandırılan aralık, geçerli korumalı aralıkla aynı sayfada olmalıdır aralığı. Komut dosyalarının, korumalı bir aralığı adlandırılmış aralık; Range koruması oluşturmak için Range.protect() aranıyor setRangeName(rangeName) çağrısı yapılmadan adlandırılmış bir aralık olan satır öğeleri yeterlidir. Ancak, Google E-Tablolar kullanıcı arayüzü, bunları otomatik olarak ilişkilendirir.

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

Parametreler

AdTürAçıklama
namedRangeNamedRangeKorunan aralıkla ilişkilendirilecek mevcut adlandırılmış aralık.

Return

Protection — Zincirleme için koruma ayarlarını temsil eden nesne.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

setRange(range)

Korunan aralığı ayarlar. Belirtilen aralık, bu yöntem, korumayı yeni aralığı kapsayacak şekilde taşır.

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

Parametreler

AdTürAçıklama
rangeRangeDüzenlemelerden korunacak yeni aralık.

Return

Protection — Zincirleme için koruma ayarlarını temsil eden nesne.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

setRangeName(rangeName)

Korunan aralığı mevcut bir adlandırılmış aralıkla ilişkilendirir. Adlandırılan aralık bir farklı bir alana ayarlanırsa bu yöntem, korumayı adlandırılmış aralığı kullanın. Adlandırılan aralık, geçerli korumalı aralıkla aynı sayfada olmalıdır aralığı. Komut dosyalarının, korumalı bir aralığı adlandırılmış aralık; Range koruması oluşturmak için Range.protect() aranıyor setRangeName(rangeName) çağrısı yapılmadan adlandırılmış bir aralık olduğunda, yeterlidir. Ancak, Google E-Tablolar kullanıcı arayüzü, bunları otomatik olarak ilişkilendirir.

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

Parametreler

AdTürAçıklama
rangeNameStringKorunacak adlandırılmış aralığın adı.

Return

Protection — zincirleme için koruma ayarlarını temsil eden nesne

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

setUnprotectedRanges(ranges)

Korunan bir sayfada belirtilen aralık dizisinin korumasını kaldırır. Şu durumda bir istisna atar: Protection nesnesi, korunan bir sayfa yerine korumalı bir aralığa karşılık geliyorsa veya aralıklardan hiçbiri korunan sayfada değil. Korumasız aralıkları değiştirmek için yeni bir aralık dizisi; tüm sayfayı yeniden korumak için boş bir dizi ayarlayın.

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

Parametreler

AdTürAçıklama
rangesRange[]Korunan bir sayfada korumasız bırakılacak aralık dizisi.

Return

Protection — zincirleme için koruma ayarlarını temsil eden nesne

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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

setWarningOnly(warningOnly)

Bu korunan aralığın "uyarıya dayalı" kullanıp kullanmadığını belirler ve korur. Uyarıya dayalı koruma, her kullanıcının ilgili alandaki verileri düzenleyebileceği anlamına gelir. Ancak düzenleme sırasında bir uyarı gösterilir. kullanıcıdan düzenlemeyi onaylamasını isteme. Varsayılan olarak, korunan aralıklar veya sayfalar kullanıcıları uyarır. Uyarı durumunu kontrol etmek için isWarningOnly() işlevini kullanın.

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

Parametreler

AdTürAçıklama
warningOnlyBoolean

Return

Protection — Zincirleme için koruma ayarlarını temsil eden nesne.

Yetkilendirme

Bu yöntemi kullanan komut dosyaları, aşağıdaki kapsamlardan bir veya daha fazlasıyla yetkilendirme gerektirir:

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