Acessar e modificar páginas e intervalos protegidos Um intervalo protegido pode proteger uma instância
um intervalo de células ou um intervalo nomeado. Uma página protegida pode incluir regiões desprotegidas. Para
planilhas criadas com a versão mais antiga do Planilhas Google, use a
.
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); }
Métodos
Método | Tipo de retorno | Breve descrição |
---|---|---|
addEditor(emailAddress) | Protection | Adiciona o usuário especificado à lista de editores da página ou do intervalo protegido. |
addEditor(user) | Protection | Adiciona o usuário especificado à lista de editores da página ou do intervalo protegido. |
addEditors(emailAddresses) | Protection | Adiciona a matriz de usuários especificada à lista de editores da página ou do intervalo protegido. |
addTargetAudience(audienceId) | Protection | Adiciona o público-alvo especificado como editor do intervalo protegido. |
canDomainEdit() | Boolean | Determina se todos os usuários do domínio proprietário da planilha têm permissão para editar. o intervalo ou a página protegida. |
canEdit() | Boolean | Determina se o usuário tem permissão para editar a página ou o intervalo protegido. |
getDescription() | String | Extrai a descrição da página ou do intervalo protegido. |
getEditors() | User[] | Extrai a lista de editores da página ou do intervalo protegido. |
getProtectionType() | ProtectionType | Recebe o tipo da área protegida, RANGE ou SHEET . |
getRange() | Range | Recebe o intervalo que está sendo protegido. |
getRangeName() | String | Recebe o nome do intervalo protegido se ele estiver associado a um intervalo nomeado. |
getTargetAudiences() | TargetAudience[] | Retorna os IDs dos públicos-alvo que podem editar o intervalo protegido. |
getUnprotectedRanges() | Range[] | Recebe uma matriz de intervalos desprotegidos em uma página protegida. |
isWarningOnly() | Boolean | Determina se a área protegida está usando "baseado em alerta" proteção de dados. |
remove() | void | Desprotege o intervalo ou a página. |
removeEditor(emailAddress) | Protection | Remove o usuário da lista de editores da página ou do intervalo protegido. |
removeEditor(user) | Protection | Remove o usuário da lista de editores da página ou do intervalo protegido. |
removeEditors(emailAddresses) | Protection | Remove a matriz de usuários especificada da lista de editores da página ou do intervalo protegido. |
removeTargetAudience(audienceId) | Protection | Remove o público-alvo especificado como editor do intervalo protegido. |
setDescription(description) | Protection | Define a descrição da página ou do intervalo protegido. |
setDomainEdit(editable) | Protection | Define se todos os usuários do domínio proprietário da planilha têm permissão para editar o um intervalo ou uma página protegida. |
setNamedRange(namedRange) | Protection | Associa o intervalo protegido a um intervalo nomeado existente. |
setRange(range) | Protection | Ajusta o intervalo que está sendo protegido. |
setRangeName(rangeName) | Protection | Associa o intervalo protegido a um intervalo nomeado existente. |
setUnprotectedRanges(ranges) | Protection | Desprotege a matriz de intervalos especificada em uma página protegida. |
setWarningOnly(warningOnly) | Protection | Define se este intervalo protegido usa ou não "baseado em aviso" proteção de dados. |
Documentação detalhada
addEditor(emailAddress)
Adiciona o usuário especificado à lista de editores da página ou do intervalo protegido. Esse método não
não concederá automaticamente ao usuário permissão para editar a planilha; para fazer isso
além disso, chame Spreadsheet.addEditor(emailAddress)
.
// 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()); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
emailAddress | String | Endereço de e-mail do usuário a ser adicionado. |
Retornar
Protection
: o objeto que representa as configurações de proteção para o encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addEditor(user)
Adiciona o usuário especificado à lista de editores da página ou do intervalo protegido. Esse método não
não concederá automaticamente ao usuário permissão para editar a planilha; para fazer isso
além disso, chame Spreadsheet.addEditor(user)
.
// 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()); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
user | User | Uma representação do usuário a ser adicionado. |
Retornar
Protection
: o objeto que representa as configurações de proteção para o encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addEditors(emailAddresses)
Adiciona a matriz de usuários especificada à lista de editores da página ou do intervalo protegido. Isso
não dá permissão automaticamente aos usuários para editar a planilha; a fazer
que, além disso, chame Spreadsheet.addEditors(emailAddresses)
.
// 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()); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
emailAddresses | String[] | Uma matriz de endereços de e-mail dos usuários a serem adicionados. |
Retornar
Protection
: o objeto que representa as configurações de proteção para o encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addTargetAudience(audienceId)
Adiciona o público-alvo especificado como editor do intervalo protegido.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
audienceId | String | O ID do público-alvo a ser adicionado. |
Retornar
Protection
: o objeto que representa as configurações de proteção para o encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
canDomainEdit()
Determina se todos os usuários do domínio proprietário da planilha têm permissão para editar. o intervalo ou a página protegida. Gera uma exceção se o usuário não tem permissão para editar o intervalo ou a página protegida.
// 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());
Retornar
Boolean
— true
se todos os usuários no domínio proprietário da planilha tiverem permissão para
editar a página ou o intervalo protegido; false
caso não tenham.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
canEdit()
Determina se o usuário tem permissão para editar a página ou o intervalo protegido. A o proprietário da planilha sempre pode editar páginas e intervalos protegidos.
// 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(); } }
Retornar
Boolean
: true
se o usuário tiver permissão para editar o intervalo ou a página protegida. false
se não for
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getDescription()
Extrai a descrição da página ou do intervalo protegido. Se nenhuma descrição for definida, esse método retorna uma string vazia.
// 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);
Retornar
String
: a descrição da página ou do intervalo protegido, ou uma string vazia se não houver descrição
está definido.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getEditors()
Extrai a lista de editores da página ou do intervalo protegido. Gera uma exceção se o usuário não tem permissão para editar o intervalo ou a página protegida.
// 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); }
Retornar
User[]
: uma matriz de usuários com permissão para editar o intervalo ou a página protegida.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getProtectionType()
Recebe o tipo da área protegida, RANGE
ou 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());
Retornar
ProtectionType
: o tipo de área protegida, RANGE
ou SHEET
.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange()
Recebe o intervalo que está sendo protegido. Se a proteção se aplicar à página, e não a uma intervalo, esse método retorna um intervalo que abrange toda a planilha.
// 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());
Retornar
Range
: o intervalo que está sendo protegido.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRangeName()
Recebe o nome do intervalo protegido se ele estiver associado a um intervalo nomeado. Retornará null
se a proteção não estiver associada a um intervalo nomeado. Os scripts devem explicitamente
chamar setRangeName(rangeName)
para associar um intervalo protegido a um intervalo nomeado; chamar
Range.protect()
para criar uma proteção contra um Range
que é um
O intervalo nomeado, sem chamar setRangeName(rangeName)
, não é suficiente para associar
para resolvê-los com rapidez. No entanto, criar um intervalo protegido usando um intervalo nomeado na interface do app Planilhas Google
automaticamente.
// 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.
Retornar
String
: o nome do intervalo nomeado protegido, ou null
se o intervalo protegido não for
associados a um intervalo nomeado
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getTargetAudiences()
Retorna os IDs dos públicos-alvo que podem editar o intervalo protegido.
Retornar
TargetAudience[]
: uma matriz dos IDs de públicos-alvo.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getUnprotectedRanges()
Recebe uma matriz de intervalos desprotegidos em uma página protegida. Se o objeto Protection
corresponder a um intervalo protegido e não a uma página protegida, esse método retornará uma
matriz. Para mudar os intervalos desprotegidos, use setUnprotectedRanges(ranges)
para definir um
nova matriz de intervalos; para proteger novamente a página inteira, defina uma matriz vazia.
// 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);
Retornar
Range[]
: uma matriz de intervalos desprotegidos em uma página protegida
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
isWarningOnly()
Determina se a área protegida está usando "baseado em alerta" proteção de dados. Proteção baseada em avisos
significa que todos os usuários podem editar dados na área, exceto a edição solicita um aviso solicitando ao
usuário para confirmar a edição. Por padrão, páginas ou intervalos protegidos não são baseados em avisos. Para
para o estado de alerta, use setWarningOnly(warningOnly)
.
// 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);
Retornar
Boolean
: true
se a página ou o intervalo protegido usar apenas proteção baseada em avisos.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove()
Desprotege o intervalo ou a página.
// 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(); }
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditor(emailAddress)
Remove o usuário da lista de editores da página ou do intervalo protegido. Observe que, se o usuário é membro de um Grupo do Google com permissão para edição ou se todos os usuários no domínio tiver permissão para edição, o usuário ainda poderá editar a área protegida. Nem o proprietário da planilha nem o usuário atual podem ser removidos.
// 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()); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
emailAddress | String | O endereço de e-mail do usuário a ser removido. |
Retornar
Protection
: o objeto que representa as configurações de proteção para o encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditor(user)
Remove o usuário da lista de editores da página ou do intervalo protegido. Observe que, se o usuário é membro de um Grupo do Google com permissão para edição ou se todos os usuários no domínio tiver permissão para edição, o usuário também poderá editar a área protegida. Nem o proprietário da planilha nem o usuário atual podem ser removidos.
// 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()); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
user | User | Uma representação do usuário a ser removido. |
Retornar
Protection
: o objeto que representa as configurações de proteção para encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeEditors(emailAddresses)
Remove a matriz de usuários especificada da lista de editores da página ou do intervalo protegido. Se algum dos usuários for membro de um Grupo do Google com permissão para edição ou se todos os usuários no domínio tiverem permissão para edição, esses usuários ainda poderão editar os arquivos área O proprietário da planilha e o usuário atual não podem ser removidos.
// 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); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
emailAddresses | String[] | Uma matriz de endereços de e-mail dos usuários a serem removidos. |
Retornar
Protection
: o objeto que representa as configurações de proteção para encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeTargetAudience(audienceId)
Remove o público-alvo especificado como editor do intervalo protegido.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
audienceId | String | O ID do público-alvo a ser removido. |
Retornar
Protection
: o objeto que representa as configurações de proteção para o encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setDescription(description)
Define a descrição da página ou do intervalo protegido.
// 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);
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
description | String | A descrição da página ou do intervalo protegido. |
Retornar
Protection
: o objeto que representa as configurações de proteção para o encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setDomainEdit(editable)
Define se todos os usuários do domínio proprietário da planilha têm permissão para editar o um intervalo ou uma página protegida. Todos os usuários com permissão para edição explícita podem fazer o seguinte: editar a área protegida independentemente desta configuração. Gera uma exceção se a planilha não não pertencem a um domínio do Google Workspace (ou seja, em uma conta gmail.com).
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
editable | Boolean | true se todos os usuários no domínio proprietário da planilha tiverem que ter
permissão para editar o intervalo ou a página protegida Caso contrário, false . |
Retornar
Protection
: o objeto que representa as configurações de proteção para encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setNamedRange(namedRange)
Associa o intervalo protegido a um intervalo nomeado existente. Se o intervalo nomeado abranger um
área diferente do intervalo protegido atual, esse método move a proteção para cobrir a
o intervalo nomeado. O intervalo nomeado precisa estar na mesma página que o intervalo protegido atual
do intervalo 10.240.0.0/16. Observe que os scripts devem chamar explicitamente esse método para associar um intervalo protegido a um
intervalo nomeado; chamar Range.protect()
para criar uma proteção contra um Range
.
que é um intervalo nomeado, sem chamar setRangeName(rangeName)
, não é
suficientes para associá-los. No entanto, criar um intervalo protegido a partir de um intervalo nomeado no
A interface do Planilhas Google os associa automaticamente.
// 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());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
namedRange | NamedRange | O intervalo nomeado existente a ser associado ao intervalo protegido. |
Retornar
Protection
: o objeto que representa as configurações de proteção para o encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRange(range)
Ajusta o intervalo que está sendo protegido. Se o intervalo especificado abranger uma área diferente da intervalo protegido atual, esse método move a proteção para cobrir o novo intervalo.
// 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());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
range | Range | O novo intervalo a ser protegido contra edições. |
Retornar
Protection
: o objeto que representa as configurações de proteção para o encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setRangeName(rangeName)
Associa o intervalo protegido a um intervalo nomeado existente. Se o intervalo nomeado abranger um
área diferente do intervalo protegido atual, esse método move a proteção para cobrir a
o intervalo nomeado. O intervalo nomeado precisa estar na mesma página que o intervalo protegido atual
do intervalo 10.240.0.0/16. Observe que os scripts devem chamar explicitamente esse método para associar um intervalo protegido a um
intervalo nomeado; chamar Range.protect()
para criar uma proteção contra um Range
.
que é um intervalo nomeado, sem chamar setRangeName(rangeName)
, não é
suficientes para associá-los. No entanto, criar um intervalo protegido a partir de um intervalo nomeado no
A interface do Planilhas Google os associa automaticamente.
// 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.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
rangeName | String | O nome do intervalo nomeado a ser protegido. |
Retornar
Protection
: o objeto que representa as configurações de proteção para encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setUnprotectedRanges(ranges)
Desprotege a matriz de intervalos especificada em uma página protegida. Gera uma exceção se o
O objeto Protection
corresponde a um intervalo protegido em vez de uma página protegida ou se
nenhum dos intervalos está na página protegida. Para alterar os intervalos desprotegidos, defina um novo
matriz de intervalos para proteger novamente a página inteira, defina uma matriz vazia.
// 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); }
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
ranges | Range[] | A matriz de intervalos a serem deixados desprotegidos em uma página protegida. |
Retornar
Protection
: o objeto que representa as configurações de proteção para encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setWarningOnly(warningOnly)
Define se este intervalo protegido usa ou não "baseado em aviso" proteção de dados. Com base em avisos
significa que todos os usuários podem editar dados na área, exceto a edição solicita um aviso
pedindo que o usuário confirme a edição. Por padrão, páginas ou intervalos protegidos não são
com base em avisos. Para verificar o estado do alerta, use isWarningOnly()
.
// 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());
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
warningOnly | Boolean |
Retornar
Protection
: o objeto que representa as configurações de proteção para o encadeamento.
Autorização
Os scripts que usam esse método precisam de autorização com um ou mais dos seguintes escopos:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets