Class Protection

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
보호

보호된 범위 및 시트에 액세스하고 이를 수정합니다. 보호되는 범위는 셀의 정적 범위 또는 이름이 지정된 범위를 보호할 수 있습니다. 보호된 시트에는 보호되지 않는 영역이 포함될 수 있습니다. 이전 버전의 Google Sheets로 만든 스프레드시트의 경우 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);
}

메서드

메서드반환 유형간략한 설명
addEditor(emailAddress)Protection보호되는 사용자를 보호된 시트 또는 범위의 편집자 목록에 추가합니다.
addEditor(user)Protection보호되는 사용자를 보호된 시트 또는 범위의 편집자 목록에 추가합니다.
addEditors(emailAddresses)Protection보호된 시트 또는 범위의 편집자 목록에 지정된 사용자 배열을 추가합니다.
addTargetAudience(audienceId)Protection지정된 공유 대상 그룹을 보호된 범위의 편집자로 추가합니다.
canDomainEdit()Boolean스프레드시트를 소유한 도메인의 모든 사용자에게 보호된 범위 또는 시트를 수정할 수 있는 권한이 있는지 확인합니다.
canEdit()Boolean사용자에게 보호된 범위 또는 시트를 수정할 권한이 있는지 결정합니다.
getDescription()String보호되는 범위 또는 시트의 설명을 가져옵니다.
getEditors()User[]보호된 범위 또는 시트의 편집자 목록을 가져옵니다.
getProtectionType()ProtectionType보호된 영역의 유형(RANGE 또는 SHEET)을 가져옵니다.
getRange()Range보호 중인 범위를 가져옵니다.
getRangeName()String이름이 지정된 범위와 연결된 경우 보호된 범위의 이름을 가져옵니다.
getTargetAudiences()TargetAudience[]보호된 범위를 수정할 수 있는 공유 대상 그룹의 ID를 반환합니다.
getUnprotectedRanges()Range[]보호된 시트 내에서 보호되지 않은 범위의 배열을 가져옵니다.
isWarningOnly()Boolean보호 영역이 '경고 기반' 보호를 사용하고 있는지 확인합니다.
remove()void범위 또는 시트를 보호 해제합니다.
removeEditor(emailAddress)Protection보호된 시트 또는 범위의 편집자 목록에서 지정된 사용자를 삭제합니다.
removeEditor(user)Protection보호된 시트 또는 범위의 편집자 목록에서 지정된 사용자를 삭제합니다.
removeEditors(emailAddresses)Protection보호된 시트 또는 범위의 편집자 목록에서 지정된 사용자 배열을 삭제합니다.
removeTargetAudience(audienceId)Protection보호되는 범위의 편집자로 지정된 공유 대상 그룹을 삭제합니다.
setDescription(description)Protection보호된 범위 또는 시트의 설명을 설정합니다.
setDomainEdit(editable)Protection스프레드시트를 소유한 도메인의 모든 사용자에게 보호된 범위 또는 시트를 수정할 수 있는 권한이 있는지 여부를 설정합니다.
setNamedRange(namedRange)Protection보호되는 범위를 기존 이름이 지정된 범위와 연결합니다.
setRange(range)Protection보호 중인 범위를 조정합니다.
setRangeName(rangeName)Protection보호되는 범위를 기존 이름이 지정된 범위와 연결합니다.
setUnprotectedRanges(ranges)Protection보호된 시트 내에서 지정된 범위 배열을 보호합니다.
setWarningOnly(warningOnly)Protection이 보호 범위에서 '경고 기반 보호'를 사용할지 여부를 설정합니다.

자세한 문서

addEditor(emailAddress)

보호되는 사용자를 보호된 시트 또는 범위의 편집자 목록에 추가합니다. 이 메서드는 사용자에게 스프레드시트 자체를 수정할 수 있는 권한을 자동으로 부여하지 않습니다. 이 권한을 추가하려면 Spreadsheet.addEditor(emailAddress)를 호출하세요.

매개변수

이름유형설명
emailAddressString추가할 사용자의 이메일 주소입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

addEditor(user)

보호되는 사용자를 보호된 시트 또는 범위의 편집자 목록에 추가합니다. 이 메서드는 사용자에게 스프레드시트 자체를 수정할 수 있는 권한을 자동으로 부여하지 않습니다. 이 권한을 추가하려면 Spreadsheet.addEditor(user)를 호출하세요.

매개변수

이름유형설명
userUser추가할 사용자의 표현입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

addEditors(emailAddresses)

보호된 시트 또는 범위의 편집자 목록에 지정된 사용자 배열을 추가합니다. 이 방법은 사용자에게 스프레드시트 자체를 수정할 수 있는 권한을 자동으로 부여하지 않습니다. 또한 Spreadsheet.addEditors(emailAddresses)를 호출합니다.

매개변수

이름유형설명
emailAddressesString[]추가할 사용자의 이메일 주소 배열입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

addTargetAudience(audienceId)

지정된 공유 대상 그룹을 보호된 범위의 편집자로 추가합니다.

매개변수

이름유형설명
audienceIdString추가할 공유 대상 그룹의 ID입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

canDomainEdit()

스프레드시트를 소유한 도메인의 모든 사용자에게 보호된 범위 또는 시트를 수정할 수 있는 권한이 있는지 확인합니다. 사용자에게 보호된 범위 또는 시트를 수정할 권한이 없는 경우 예외가 발생합니다.

Return

Boolean — 스프레드시트를 소유한 도메인의 모든 사용자에게 보호된 범위 또는 시트를 수정할 권한이 있는 경우 true이고, 권한이 없는 경우 false입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

canEdit()

사용자에게 보호된 범위 또는 시트를 수정할 권한이 있는지 결정합니다. 스프레드시트 소유자는 언제든지 보호된 범위와 시트를 수정할 수 있습니다.

// 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, 권한이 없는 경우 false

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

getDescription()

보호되는 범위 또는 시트의 설명을 가져옵니다. 설명이 설정되지 않으면 이 메서드는 빈 문자열을 반환합니다.

Return

String: 보호된 범위 또는 시트의 설명 또는 설명이 설정되지 않은 경우 빈 문자열

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

getEditors()

보호된 범위 또는 시트의 편집자 목록을 가져옵니다. 사용자에게 보호된 범위 또는 시트를 수정할 권한이 없는 경우 예외가 발생합니다.

// 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[]: 보호된 범위 또는 시트를 수정할 권한이 있는 사용자의 배열

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

getProtectionType()

보호된 영역의 유형(RANGE 또는 SHEET)을 가져옵니다.

Return

ProtectionType: 보호된 영역의 유형(RANGE 또는 SHEET)

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

getRange()

보호 중인 범위를 가져옵니다. 보호 기능이 범위 대신 시트에 적용되면 이 메서드는 전체 시트를 포괄하는 범위를 반환합니다.

Return

Range: 보호 중인 범위입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

getRangeName()

이름이 지정된 범위와 연결된 경우 보호된 범위의 이름을 가져옵니다. 보호가 지정된 범위와 연결되어 있지 않으면 null를 반환합니다. 스크립트는 보호된 범위를 이름이 지정된 범위와 연결하려면 명시적으로 setRangeName(rangeName)을 호출해야 합니다. Range.protect()를 호출하여 setRangeName(rangeName)를 호출하지 않고 이름이 지정된 범위인 Range로부터 보호 조치를 생성하는 것만으로는 충분하지 않습니다. 그러나 Google Sheets UI에서 명명된 범위에서 보호된 범위를 만들면 자동으로 연결됩니다.

// 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 — 보호된 이름이 지정된 범위 이름 또는 보호된 범위가 명명된 범위와 연결되지 않은 경우 null

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

getTargetAudiences()

보호된 범위를 수정할 수 있는 공유 대상 그룹의 ID를 반환합니다.

Return

TargetAudience[]: 공유 대상 그룹 ID의 배열입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

getUnprotectedRanges()

보호된 시트 내에서 보호되지 않은 범위의 배열을 가져옵니다. Protection 객체가 보호된 시트 대신 보호된 범위에 해당하는 경우 이 메서드는 빈 배열을 반환합니다. 보호되지 않은 범위를 변경하려면 setUnprotectedRanges(ranges)를 사용하여 범위의 새 배열을 설정합니다. 전체 시트를 다시 보호하려면 빈 배열을 설정합니다.

// 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[]: 보호된 시트 내의 보호되지 않은 범위 배열

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

isWarningOnly()

보호 영역이 '경고 기반' 보호를 사용하고 있는지 확인합니다. 경고 기반 보호는 모든 사용자가 해당 영역의 데이터를 수정할 수 있다는 의미입니다. 단, 수정 시 사용자에게 수정을 확인하라는 경고가 표시됩니다. 기본적으로 보호된 범위 또는 시트는 경고를 기반으로 하지 않습니다. 경고 상태로 변경하려면 setWarningOnly(warningOnly)을 사용합니다.

Return

Boolean — 보호된 범위 또는 시트가 경고 기반 보호 기능만 사용하는 경우 true

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

remove()

범위 또는 시트를 보호 해제합니다.

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

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

removeEditor(emailAddress)

보호된 시트 또는 범위의 편집자 목록에서 지정된 사용자를 삭제합니다. 사용자가 수정 권한이 있는 Google 그룹의 구성원이거나 도메인의 모든 사용자에게 수정 권한이 있는 경우 사용자는 여전히 보호된 영역을 수정할 수 있습니다. 스프레드시트 소유자나 현재 사용자를 삭제할 수 없습니다.

매개변수

이름유형설명
emailAddressString삭제할 사용자의 이메일 주소입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

removeEditor(user)

보호된 시트 또는 범위의 편집자 목록에서 지정된 사용자를 삭제합니다. 사용자가 수정 권한이 있는 Google 그룹의 구성원이거나 도메인의 모든 사용자에게 수정 권한이 있는 경우 사용자는 보호된 영역도 계속 수정할 수 있습니다. 스프레드시트 소유자나 현재 사용자를 삭제할 수 없습니다.

매개변수

이름유형설명
userUser삭제할 사용자의 표현입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

removeEditors(emailAddresses)

보호된 시트 또는 범위의 편집자 목록에서 지정된 사용자 배열을 삭제합니다. 수정 권한이 있는 Google 그룹의 구성원이거나 도메인의 모든 사용자에게 수정 권한이 있는 경우 해당 사용자는 계속 보호 영역을 수정할 수 있습니다. 스프레드시트의 소유자와 현재 사용자를 동시에 삭제할 수 없습니다.

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

매개변수

이름유형설명
emailAddressesString[]삭제할 사용자의 이메일 주소 배열입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

removeTargetAudience(audienceId)

보호되는 범위의 편집자로 지정된 공유 대상 그룹을 삭제합니다.

매개변수

이름유형설명
audienceIdString삭제할 공유 대상 그룹의 ID입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

setDescription(description)

보호된 범위 또는 시트의 설명을 설정합니다.

매개변수

이름유형설명
descriptionString보호되는 범위 또는 시트에 관한 설명입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

setDomainEdit(editable)

스프레드시트를 소유한 도메인의 모든 사용자에게 보호된 범위 또는 시트를 수정할 수 있는 권한이 있는지 여부를 설정합니다. 명시적 수정 권한이 있는 모든 사용자는 이 설정에 관계없이 보호 영역을 수정할 수 있습니다. 스프레드시트가 Google Workspace 도메인에 없는 경우 (즉, gmail.com 계정이 소유한 경우) 예외가 발생합니다.

매개변수

이름유형설명
editableBoolean스프레드시트를 소유한 도메인의 모든 사용자에게 보호된 범위 또는 시트 수정 권한이 있어야 하는 경우 true, 권한이 없는 경우 false.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

setNamedRange(namedRange)

보호되는 범위를 기존 이름이 지정된 범위와 연결합니다. 이름이 지정된 범위가 현재 보호되는 범위와 다른 영역에 적용되는 경우, 이 메서드는 대신 이름이 지정된 범위를 포함하도록 보호를 이동합니다. 이름이 지정된 범위는 현재 보호되는 범위와 동일한 시트에 있어야 합니다. 스크립트는 이 메서드를 명시적으로 호출하여 보호된 범위를 이름이 지정된 범위와 연결해야 합니다. Range.protect()를 호출하여 setRangeName(rangeName)을 호출하지 않고 이름이 지정된 범위로부터의 보호를 만드는 것은 충분하지 않습니다. 하지만 Google Sheets UI에서 명명된 범위에서 보호된 범위를 만들면 자동으로 연결됩니다.

매개변수

이름유형설명
namedRangeNamedRange보호되는 범위와 연결할 기존 이름이 지정된 범위입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

setRange(range)

보호 중인 범위를 조정합니다. 지정된 범위가 현재 보호되는 범위와 다른 영역을 다루는 경우 이 메서드는 대신 새 범위를 포함하도록 보호 조치를 이동합니다.

매개변수

이름유형설명
rangeRange수정으로부터 보호할 새로운 범위입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

setRangeName(rangeName)

보호되는 범위를 기존 이름이 지정된 범위와 연결합니다. 이름이 지정된 범위가 현재 보호되는 범위와 다른 영역에 적용되는 경우, 이 메서드는 대신 이름이 지정된 범위를 포함하도록 보호를 이동합니다. 이름이 지정된 범위는 현재 보호되는 범위와 동일한 시트에 있어야 합니다. 스크립트는 이 메서드를 명시적으로 호출하여 보호된 범위를 이름이 지정된 범위와 연결해야 합니다. Range.protect()를 호출하여 setRangeName(rangeName)을 호출하지 않고 이름이 지정된 범위로부터의 보호를 만드는 것은 충분하지 않습니다. 하지만 Google Sheets UI에서 명명된 범위에서 보호된 범위를 만들면 자동으로 연결됩니다.

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

매개변수

이름유형설명
rangeNameString보호할 이름이 지정된 범위의 이름입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

setUnprotectedRanges(ranges)

보호된 시트 내에서 지정된 범위 배열을 보호합니다. Protection 객체가 보호된 시트 대신 보호된 범위에 해당하는 경우 또는 범위 중 하나라도 보호된 시트에 없는 경우 예외가 발생합니다. 보호되지 않은 범위를 변경하려면 새 범위 배열을 설정합니다. 전체 시트를 다시 보호하려면 빈 배열을 설정합니다.

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

매개변수

이름유형설명
rangesRange[]보호된 시트 내에서 보호되지 않은 상태로 유지할 범위의 배열입니다.

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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

setWarningOnly(warningOnly)

이 보호 범위에서 '경고 기반 보호'를 사용할지 여부를 설정합니다. 경고 기반 보호는 모든 사용자가 해당 영역의 데이터를 수정할 수 있다는 의미입니다. 단, 수정 시 사용자에게 수정을 확인하라는 경고가 표시됩니다. 기본적으로 보호된 범위 또는 시트는 경고를 기반으로 하지 않습니다. 경고 상태를 확인하려면 isWarningOnly()를 사용합니다.

매개변수

이름유형설명
warningOnlyBoolean

Return

Protection: 체이닝을 위한 보호 설정을 나타내는 객체입니다.

승인

이 방법을 사용하는 스크립트에는 다음 범위 중 하나 이상을 사용하여 승인해야 합니다.

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