2. Sobre mim
Sérgio Souza Costa
Professor - UFMA
Doutor em Computação Aplicada (INPE)
prof.sergio.costa@gmail.com
https://sites.google.com/site/profsergiocosta/home
http://www.slideshare.net/skosta/presentations?order=popular
https://twitter.com/profsergiocosta
http://gplus.to/sergiosouzacosta
3. O que é Google Apps Script (GAS)?
Google Apps Script é um ambiente de desenvolvimento
JavaScript na nuvem que provê um modo fácil de
automação de tarefas que usem os produtos da Google
integrado com serviços de terceiros.
4. O que é Google Apps Script (GAS)?
Google Apps Script é um ambiente de desenvolvimento
JavaScript na nuvem que provê um modo fácil de
automação de tarefas que usem os produtos da Google
integrado com serviços de terceiros.
No link abaixo tenho disponível
uma aula detalhada sobre
JavaScript:
http://www.slideshare.net/skosta/j12591397
7. Introdução (overview)
Agradecimento ao Alexandre Jacket por ter cedido a
apresentação no link abaixo:
http://www.slideshare.net/alejacquet/google-appsscript-overview-22980983
Alexandre Jacquet
Breno Araújo
alejacquet@gmail.com
breno.araujo@acm.org
Abram esta apresentação
11. Criando funções para planilha
Crie uma função que recebe um ou mais valores como argumento, de
uma ou mais células.
Estes argumentos serão usados dentro da função para gerar o
resultado, que será retornado pela função para a célula que chamou a
função.
https://developers.google.com/apps-script/execution_custom_functions
12. Criando funções para planilha
function binary2decimal (num) {
var str = new String(num)
var tam = str.length - 1
var dec = 0
for (var i = tam; i >=0 ; i--) {
dec = dec + ( str[tam-i] * (Math.pow(2, i)) )
}
return dec
}
15. Selecione:
Copie o código
abaixo no editor.
Ferramenta -> Editor de
Scripts
function binary2decimal (num) {
var str = new String(num)
var tam = str.length - 1
var dec = 0
for (var i = tam; i >=0 ; i--) {
dec = dec + ( str[tam-i] * (Math.pow(2, i)) )
}
return dec
}
16. Selecione:
Copie o código
abaixo no editor.
Ferramenta -> Editor de
Scripts
Para quem não fez os passos
anteriores, pode abrir o link abaixo
e criar uma cópia do arquivo.
function binary2decimal https://docs.google.
(num) {
com/spreadsheet/ccc?
var str = new String(num)
var tam = str.length -key=0Avv93GPSzr6FdHpiT29mT3E
1
yajVoWUFNSTFfaDVMdVE&usp=s
var dec = 0
haring
for (var i = tam; i >=0 ; i--) {
dec = dec + ( str[tam-i] * (Math.pow(2, i)) )
}
return dec
}
17. Criando funções para planilha
Mãos a obra !!!
Atividade, codifique uma função chamada toDecimal, que
usa dois argumento, um número e a base. Observe que
basta adaptar o código anterior para receber mais um
parâmetro (base) e este ser usado na expressão, como
abaixo:
dec = dec + ( str[tam-i] * (Math.pow(base, i)) )
18. Criando funções para planilha
Função sobre uma faixa de valores
Uma faixa de valores será enviada com um vetor (uma
dimensão) ou matriz (duas dimensões).
range é um vetor
function minhaMedia(range){
var soma = 0
for (var i in range) {
soma+= parseFloat(range[i])
}
return soma / range.length
}
19. Criando funções para planilha
Mãos a obra !!!
Atividade, codifique uma função que retorne o número de
alunos aprovados. Media das 3 notas deve ser maior ou
igual a 7. Observe que neste caso temos uma matriz.
20. Lendo valores da planilha
A informação é
capturada através de
logs (registros). Útil
para depurar.
Lê todos os
valores da
planilha ativa
como uma matriz.
function printProductInfo() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
for (var i = 0; i < data.length; i++) {
Logger.log("Nome: " + data[i][0]);
Logger.log("Preço: " + data[i][1]);
}
}
21. Lendo valores da planilha
pegando dados
1. Abrir a seguinte planilha: https:
//docs.google.com/spreadsheet/ccc?
key=0Avv93GPSzr6FdDhHc29PX29iNm5seU50c
TlvYTZwSlE&usp=sharing
22. Lendo valores da planilha
pegando dados
2. Selecione
“Gerenciador
de scripts”
23. Lendo valores da planilha
pegando dados
2. Selecione
“Gerenciador
de scripts”
3. Click em
executar
24. Lendo valores da planilha
pegando dados
2. Selecione
“Gerenciador
de scripts”
4. Click em
Editar
25. Lendo valores da planilha
pegando dados
2. Selecione
“Gerenciador
de scripts”
5. Click em
Registros
26. Lendo valores da planilha
pegando dados
2. Selecione
“Gerenciador
de scripts”
5. Click em
Registros
27. Criando documentos
1. Abra o script no link abaixo e click executar:
https://script.google.com/d/1B8zP8U00Kl84Vlp8oIEKeV00bQETz_U4rraHSdJYdvu7CfbGT6NR5ij/edit?usp=sharing
function createDoc() {
var doc = DocumentApp.create('Sample Document');
var body = doc.getBody();
var rowsData = [['Plants', 'Animals'],
['Ficus', 'Goat'], ['Basil', 'Cat'], ['Moss', 'Frog']];
body.insertParagraph(0, doc.getName())
.setHeading(DocumentApp.ParagraphHeading.HEADING1);
table = body.appendTable(rowsData);
table.getRow(0).editAsText().setBold(true);
}
29. Integração - planilha e documento
Script para criação de listas de exercícios no google docs
Professores estão sempre elaborando listas de exercícios, consumindo um tempo nesta
atividade. Esta é uma dica para os professores que querem automatizar esta tarefa, bem
como começar a usar scripts nos aplicativos google. Completado este passos, você
conseguira criar uma base de questões em uma planilha e um script que cria uma dada
lista de exercícios com uma dada quantidade de questões.
http://sergioscosta.blogspot.com.br/2013/08/script-para-criacao-de-listas-de.html
Façam o
exercício do blog.
Spreadsheet
Documents
31. Substituindo texto
1. Abra e crie uma cópia
do documento do link
abaixo:
var ui = DocumentApp.getUi();
function onOpen() {
ui.createMenu('Mais')
.addItem('Atualiza', 'atualiza')
.addToUi();
}
https://docs.google.
com/document/d/1Wrzhe7Axf8
LlQxm2t4mpitd_XOvfHVlL1D5q
7yzz5Ec/edit?usp=sharing
function atualiza() {
var result = ui.prompt('Atualizando o nome',
'Entre com o nome do aluno:', ui.ButtonSet.OK_CANCEL);
2. Selecione o menu
Mais -> Atualiza
if (result.getSelectedButton() == ui.Button.OK) {
var name = result.getResponseText()
var body = DocumentApp.getActiveDocument()
.getBody();
body.replaceText('{nome}', name);
}
}
Código que faz a
subsituição
33. Integração - planilha, documento e
drive
1. Abra e execute o documento do
link abaixo:
https://docs.google.com/spreadsheet/ccc?
key=0Avv93GPSzr6FdGJWQ3FIaDk4VXpWT
E1iVVdySFN5dVE&usp=sharing
function copiaCertificados() {
var file = DriveApp.getFileById(
"1gE4V_0GZUx4byQYQywyg3reqRpF_xLr_hQZKCD_uPbo")
var sheet = SpreadsheetApp.getActive();
var data = sheet.getDataRange().getValues();
for (var i in data) {
var file2 = file.makeCopy("certificado_"+data[i][0])
var body = DocumentApp.openById(file2.getId()).getBody();
body.replaceText('{nome}', data[i][0]);
}
}
Substitua pelo id da
cópia do arquivo criado
anteriormente