Google Planilhas Avançado - #34 Criando Menu Personalizado
14/11/2019No 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!
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.
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.