Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Google Planilhas Avançado - #28 Classe DataValidationBuilder

29/09/2019

Na 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!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

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.
Saiba mais!
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.
Saiba mais!
Google Planilhas
Neste curso abordaremos a fundo as funcionalidades do Google Planilha. Adentraremos no Google App Script e na API do Google Sheet. Aproveite.
Saiba mais!