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 - #34 Criando Menu Personalizado

14/11/2019

No tutorial de hoje do curso de Google Planilhas, aprenderemos como criar um menu personalizado com funções interessantes na nossa planilha.

Criando menu personalizado no Google Planilhas

Pra criar um menu personalizado utilizaremos o simple trigger onOpen, para que esse menu seja criado na abertura da planilha. Faremos também um botão para transformar os campos selecionados em letras maiúsculas. Veja o código abaixo:

var app=SpreadsheetApp;
var spreadsheet=app.getActiveSpreadsheet();
var sheet=app.getActiveSheet();
var ui=app.getUi();
var selection=sheet.getSelection().getActiveRange().getValues();
  
function onOpen(e)
{
  ui.createMenu("Menu Personalizado")
  .addItem("Maiúscula", "upperCase")
  .addSubMenu(ui.createMenu("Sub menu").addItem("Ocultar espaços", "hideSpaces"))
  .addToUi();
}

//Converte para maiúscula as células selecionadas
function upperCase()
{
  for(var r=0; r < selection.length; r++){
      for(var c=0; c < selection[r].length; c++){
        if(typeof selection[r][c] == "string" && selection[r][c] != ""){
          sheet.getRange(r+2, c+1).setValue(selection[r][c].toUpperCase());
        }
      }
  }
}

E outra variação dessa função poderia ser escrita assim:

var app=SpreadsheetApp;
var ui=app.getUi();
var spreadsheet=app.getActiveSpreadsheet();
var sheet=spreadsheet.getSheetByName("Credenciados");

function onOpen(e) {
  ui.createMenu("Letras").addItem("A", "upperCase").addToUi();
}

function upperCase()
{
  var range=sheet.getSelection().getActiveRange();
  var row=range.getRow();
  var column=range.getColumn();
  var values=range.getValues();
  //var values=sheet.getRange(range.getA1Notation()).getValues();
  for(var r=0; r < values.length; r++){
    for(var c=0; c < values[r].length; c++)
    {
      var cell=sheet.getRange(row+r, column+c).getValue();  
      if(typeof cell == 'string'){
        var cellFinal = cell+"";
        sheet.getRange(row+r, column+c).setValue(cellFinal.toUpperCase());
      }
    }
  }
}

Retirando espaços

Outra implementação que faremos é um botão para retirar os espaços vazios das nossas células.

//Remover as linhas vazias
function hideSpaces()
{
  var rowEmpty=[];
    for(var r=0; r < selection.length; r++){
      for(var c=0; c < selection[r].length; c++){
        if(selection[r][c] == ""){
          if(rowEmpty.indexOf(r+2) == -1){
            rowEmpty.push(r+2);
          }
        }
      }
  }
  rowEmpty.map(function(elem,ind,obj){
    sheet.hideRows(elem);
  });
}

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 - #33 Installabel Triggers - onChange e onSubmit
No tutorial desta aula veremos os installable triggers, que são gatilhos que necessitam ser instalados através do Google App Console.
Saiba mais!
Google Planilhas Avançado - #35 Image Links e Image Scripts
Nessa videoaula aprenderemos como criar image buttons e associar scripts de códigos com funcionalidades a esses botões.
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!