5 funções de script do Planilhas Google que você precisa conhecer


O Planilhas Google é uma poderosa ferramenta de planilha baseada em nuvem que permite fazer quase tudo o que você pode fazer no Microsoft Excel. Mas o verdadeiro poder do Planilhas Google é o recurso de script do Google que vem com ele.

O script do Google Apps é uma ferramenta de script em segundo plano que funciona não apenas no Planilhas Google, mas também o Google Docs, Gmail , Google Analytics e quase todos os outros serviços em nuvem do Google. Permite automatizar esses aplicativos individuais e integrar cada um desses aplicativos.

Neste artigo, você aprenderá como começar a usar scripts do Google Apps, criando um script básico no Planilhas Google para ler e gravar dados de células e as Planilhas Google avançadas mais eficazes funções de script.

Como criar um script do Google Apps

Você pode começar agora mesmo a criar seu primeiro script do Google Apps a partir do Planilhas Google.

Para fazer isso, selecione Ferramentasno menu e, em seguida, Editor de scripts.

Isso abre a janela do editor de scripts e o padrão é uma função chamada myfunction (). É aqui que você pode criar e testar seu Google Script.

In_content_1 all: [300x250] / dfp: [640x360]->
googletag.cmd.push (function () {googletag.display ('snhb-In_content_1-0');});

Para tentar, tente criar uma função de script do Planilhas Google que leia dados de uma célula, faça um cálculo e envie a quantidade de dados para outra célula.

A função para obter dados de uma célula são as funções getRange ()e getValue (). Você pode identificar a célula por linha e coluna. Portanto, se você tiver um valor na linha 2 e na coluna 1 (a coluna A), a primeira parte do seu script terá a seguinte aparência:

function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); var row = 2; var col = 1; var data = sheet.getRange(row, col).getValue(); }

Isso armazena o valor dessa célula na variável data. Você pode executar um cálculo nos dados e gravá-los em outra célula. Portanto, a última parte desta função será:

   var results = data * 100;
sheet.getRange(row, col+1).setValue(results); }

Quando terminar de escrever sua função, selecione o ícone do disco para salvar.

A primeira vez que você executa uma nova função de script do Planilhas Google como esta (selecionando o ícone de execução), você precisará fornecer autorização para que o script seja executado em sua Conta do Google.

Permita que as permissões continuem. Depois que o script for executado, você verá que o script gravou os resultados do cálculo na célula de destino.

Agora que você sabe escrever uma função básica de script do Google Apps, vamos dar uma olhada em algumas funções mais avançadas.

Use getValues ​​para carregar matrizes

Você pode adotar o conceito de fazer cálculos nos dados em sua planilha com scripts para um novo nível usando matrizes. Se você carregar uma variável no script do Google Apps usando getValues, a variável será uma matriz que pode carregar vários valores da planilha.

function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues();

A variável de dados é multidimensional matriz que contém todos os dados da planilha. Para executar um cálculo nos dados, use um loop for. O contador do loop for funcionará em cada linha e a coluna permanecerá constante, com base na coluna na qual você deseja extrair os dados.

Em nossa planilha de exemplo, você pode executar cálculos nas três linhas dos dados da seguinte forma.

for (var i = 1; i < data.length; i++) {
var result = data[i][0] * 100; sheet.getRange(i+1, 2).setValue(result);  } }

Salve e execute este script da mesma forma que você fez acima. Você verá que todos os resultados são preenchidos na coluna 2 da sua planilha.

Você notará que a referência a uma célula e linha em uma variável de matriz é diferente da função getRange.

dados [i] [0]se referem às dimensões da matriz em que a primeira dimensão é a linha e a segunda é a coluna. Ambos começam em zero.

getRange (i + 1, 2)refere-se à segunda linha quando i = 1 (já que a linha 1 é o cabeçalho) e 2 é a segunda coluna em que os resultados estão armazenados.

Use appendRow para escrever resultados

E se você tiver uma planilha na qual deseja gravar dados em um novo linha em vez de uma nova coluna?

Isso é fácil de fazer com a função appendRow. Esta função não incomoda nenhum dado existente na planilha. Apenas anexará uma nova linha à planilha existente.

Como exemplo, crie uma função que conte de 1 a 10 e mostre um contador com múltiplos de 2 em um Contadorcolumn.

Esta função teria a seguinte aparência:

function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); for (var i = 1; i<11; i++) { var result = i * 2; sheet.appendRow([i,result]); } }

Aqui estão os resultados quando você executa esta função.

Processar feeds RSS com URLFetchApp

Você pode combinar a função de script anterior do Planilhas Google e o URLFetchApppara obter o feed RSS de qualquer site e escrever uma linha em uma planilha para cada artigo publicado recentemente naquele site .

Este é basicamente um método DIY para criar sua própria planilha do leitor de feeds RSS!

O script para fazer isso também não é muito complicado.

function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet(); var item, date, title, link, desc;  var txt = UrlFetchApp.fetch("https://www.topsecretwriters.com/rss").getContentText(); var doc = Xml.parse(txt, false);   title = doc.getElement().getElement("channel").getElement("title").getText(); var items = doc.getElement().getElement("channel").getElements("item");    // Parsing single items in the RSS Feed for (var i in items) { item  = items[i]; title = item.getElement("title").getText(); link  = item.getElement("link").getText(); date  = item.getElement("pubDate").getText(); desc  = item.getElement("description").getText(); sheet.appendRow([title,link,date,desc]); } }

Como você pode ver, o Xml.parseretira cada item do feed RSS e separa cada linha no título, link, data e descrição.

Usando a função appendRow, você pode colocar esses itens em colunas apropriadas para cada item no feed RSS.

A saída da sua planilha parecerá algo como isto:

Em vez disso de incorporar o URL do feed RSS no script, você pode ter um campo em sua planilha com o URL e, em seguida, ter várias planilhas - uma para cada site que você deseja monitorar.

Concatene cadeias de caracteres e adicione um retorno de carro

Você pode levar a planilha RSS um passo adiante adicionando algumas funções de manipulação de texto e, em seguida, usar as funções de email para enviar um email com um resumo de todas as novas postagens no feed RSS do site.

Para fazer isso, no script que você criou na seção anterior, adicione alguns scripts que extrairão todas as informações da planilha.

Você deseja criar a linha de assunto e o corpo do texto do email analisando todas as informações da mesma matriz de "itens" usada para gravar os dados RSS na planilha.

Para fazer isso, inicialize o assunto e a mensagem colocando as seguintes linhas antes do loop For "itens".

var subject = ‘Latest 10 articles published at mysite.com’
var message = ‘’

Em seguida, no final de os "itens" para o loop (logo após a função appendRow), adicione a seguinte linha.

message = message + title + '\n' + link + '\n' + date + '\n' + desc + '\n' + '\n \n';

O símbolo "+" concatenará todos os quatro itens juntos, seguido por "\ n ”Para um retorno de carro após cada linha. No final de cada bloco de dados de título, você desejará dois retornos de carro para um corpo de email bem formatado.

Depois que todas as linhas forem processadas, a variável "body" conterá toda a cadeia de mensagens de email. Agora você está pronto para enviar o e-mail!

Como enviar e-mail no script do Google Apps

A próxima seção do seu script do Google será o envio o "assunto" e o "corpo" por e-mail. Fazer isso no Google Script é muito fácil.

var emailAddress = [email protected];
MailApp.sendEmail(emailAddress, subject, message);

O MailApp é uma classe muito conveniente dentro dos scripts do Google Apps que fornece acesso ao serviço de e-mail da sua Conta do Google para enviar ou receber e-mails. Graças a isso, a linha única com a função sendEmail permite que você envie qualquer email apenas o endereço de email, a linha de assunto e o texto do corpo.

É assim que o email resultante será .

Combinando a capacidade de extrair o feed RSS de um site, armazene-o em uma planilha do Google e envie para si mesmo com os links de URL incluídos, torna muito conveniente seguir o conteúdo mais recente de qualquer site.

Este é apenas um exemplo do poder disponível nos scripts do Google Apps para automatizar ações e integrar vários serviços em nuvem.

5 Dicas e Truques do PLANILHAS GOOGLE Que Você Precisa Saber!

Postagens relacionadas:


16.01.2020