Google Planilhas Avançado - #28 Classe DataValidationBuilder
29/09/2019Na aula de hoje trabalharemos com a classe do Google Planilhas Class DataValidationBuilder que serve para criarmos validações de dados a partir do código.
Script de Validação de Dados
Repare no código abaixo que pegamos o intervalo B1:B e atribuímos algumas validações a ele, tais como o número maior que 18, uma data e uma lista (requireValueInList). No exemplo pegamos uma lista de outra folha da planilha, exemplificando que você pode criar um banco de dados separado.
//Validação de dados
function validateData()
{
var app=SpreadsheetApp;
var spreadsheet=app.getActiveSpreadsheet();
var cell=spreadsheet.getRange("B1:B");
var banco=spreadsheet.getSheetByName("Banco de Dados").getRange("A1:A").getValues();
var arr=[];
for(var row=0; row < banco.length;row++){
if(banco[row]!=""){
arr.push(banco[row]);
}
}
//var rule=app.newDataValidation().requireNumberGreaterThan(18).build();
//var rule=app.newDataValidation().requireDate().build();
//var rule=app.newDataValidation().requireValueInList(arr).setAllowInvalid(false).setHelpText("Insira um dado de uma cidade").build();
var rule=app.newDataValidation().requireValueInList(arr).build();
cell.setDataValidation(rule);
}
No código abaixo, podemos perceber a importância de conhecer o código Google Apps Script. Repare que com esse código nós conseguimos fazer uma validação e exibir um alerta personalizado, coisa que o menu padrão do Google não nos permite.
function onEdit(e){
var ui=SpreadsheetApp.getUi();
if(e.range.getColumn()==2){
var arr=e.range.getDataValidation().getCriteriaValues()[0];
if(arr.indexOf(e.value) == -1){
ui.alert("O dado que você está querendo inserir não é válido!");
}else{
SpreadsheetApp.getActiveSheet().getRange("A"+e.range.getRow()+":C"+e.range.getRow()).setBackground('green');
}
}
}
Por hoje é só, sucesso nos códigos e na vida!
Posts Relacionados
Google Planilhas Avançado - #27 Classe ConditionalFormatRuleBuilder II
Na aula de hoje, como forma de aprofundar em formatações condicionais através do código, faremos uma formatação pegando valores repetidos.
Google Planilhas Avançado - #29 Classe TextFinder
No tutorial de hoje trabalharemos com a classe TextFinder que serve para encontrar ocorrências em textos no Google Planilhas.