Como é que as Google Apps podem poupar o seu tempo?
Wojciech Bak
Hoje em dia, as soluções na nuvem estão a empurrar para fora as aplicações de ambiente de trabalho dedicadas ao trabalho de escritório. Uma das maiores suites de escritório é fornecida pela Google e inclui Documentos, Folhas de cálculo e Apresentações, ou seja, a maior parte do que um escritório médio necessita.
Neste artigo, pretendo analisar mais de perto a aplicação Folhas de cálculo do Google e mostrar-lhe como a tornar ainda mais inteligente utilizando o Google Apps Script
Imagine que o seu trabalho consiste em supervisionar o trabalho de outra pessoa, o que normalmente leva à redação de alguns relatórios. Quer manter as coisas padronizadas e genéricas, por isso criou uma folha de cálculo com a lista de coisas que precisa de controlar e algumas células para um comentário. Vamos supor que é responsável pela qualidade de um produto digital produto. A folha de cálculo pode ter o seguinte aspeto:
No exemplo acima, é possível ver várias coisas:
nome da caraterística ("Formulário de início de sessão do utilizador") e número (por exemplo, de um sistema ERP),
lista de aspectos que deve verificar e sobre os quais deve dar feedback (coluna "Área"),
alguns campos vazios para as suas conclusões (coluna "Comentário").
Esta ficha chama-se "Gerador de relatórios", porque vou mostrar-lhe como este documento pode evoluir para uma ferramenta realmente útil, permitindo-lhe avaliar a qualidade dos resultados do trabalho de alguém.
Se quiser quantificar alguns resultados, provavelmente a melhor opção será utilizar uma escala, por exemplo, de 1 a 10 pontos, ou algo do género.
Vamos criar uma nova folha no mesmo documento, chamar-lhe "Config" e defini-la como protegida (ou, pelo menos, anexar um emoji de cadeado ao seu nome). Esta folha serve apenas para manter algumas opções predefinidas, como as que se seguem:
Agora pode colocar estes valores em alguns menus pendentes no Gerador de relatórios utilizando a folha Validação de dados caraterística. Aqui pode encontrar algumas instruções sobre como o conseguir:
Depois de o fazer, pode converter facilmente as classificações em valores numéricos utilizando a função IF fórmula. A sua folha de cálculo será de fácil utilização e as suas conclusões serão quantificadas (ou seja, mensuráveis e comparáveis) ao mesmo tempo.
Este documento é muito bom, mas imagine o que acontece quando o âmbito do seu auditoria cresce e tem centenas de coisas para verificar. Pode guardar um modelo de formulário vazio e copiá-lo sempre que precisar de fazer um novo relatório, mas alternar entre listas de documentos e a folha de cálculo é muito aborrecido. É nesta altura que começa a pensar em alguma automatização.
É a altura ideal para começar a sua aventura com o Script Google Apps!
Antes de começarmos a codificar, vamos preparar alguns botões para acções em massa. De acordo com o exemplo acima:
marcar todos os itens como "Perfeito".
marcar todos como "Melhorias necessárias,"
marcar todos como "Inaceitável".
reiniciar tudo (definir o valor para uma cadeia vazia).
Além disso, precisaremos de uma ação adicional para guardar um novo ficheiro quando a auditoria estiver concluída.
Primeiro, vamos expandir o nosso Gerador de relatórios com a área funcional que contém botões.
Depois, utilizando Inserir -> DesenhoVamos adicionar os nossos botões, um a um.
O nosso documento de exemplo deve ter o seguinte aspeto:
Estamos prontos para adicionar alguma lógica a esta bela IU! É muito fácil começar - basta escolher Ferramentas -> Editor de scripts no menu superior e o browser saltará para um novo cartão.
A interface do editor é muito intuitiva. Se estiver familiarizado com qualquer código deverá facilmente mudar o nome do seu ficheiro ou criar um novo (Ficheiro -> Novo -> Ficheiro de script).
Script Google Apps não é mais do que um primo do JavaScript, por assim dizer. Se souberes JS, também podes alcançar a proficiência GS!
O primeiro passo é reunir todas as referências possivelmente necessárias num único local e atribuir-lhes nomes com significado. Começamos com as variáveis globais, removendo a variável padrão minhaFunção e escrever algo mais útil na declaração Código.gs ficheiro.
var folha de cálculo = SpreadsheetApp.getActiveSpreadsheet()
// referências de folhas de cálculo
var report = spreadsheet.getSheets()[0]
var config = spreadsheet.getSheets()[1]
O código acima é bastante auto-explicativo, mas para o tornar absolutamente claro:
getActiveSpreadsheet método permite nós para obter a referência à folha de cálculo em que estamos a trabalhar,
getSheets chamado no método Folha de cálculo devolve o conjunto de folhas desta folha de cálculo; no nosso exemplo, devolve a folha [Gerador de relatórios folha, Configuração folha] matriz.
Agora podemos ir mais longe e obter alguns dados úteis da nossa folha de cálculo.
// área editável (células com menus pendentes)
var dropdowns = report.getRange('C4:C13')
// célula com subtítulo (nome da caraterística)
var featureName = report.getRange('B2').getValue()
// opções da folha 'Config
// repara que podes passar uma única célula para o método getRange()
// e a alteração das opções não afecta a funcionalidade do script
var values = {
inaceitável: config.getRange('A2').getValue(),
improvements_needed: config.getRange('A3').getValue(),
perfeito: config.getRange('A4').getValue(),
vazio: ''
};
A única coisa que falta codificar é a definição das funções que queremos atribuir aos nossos botões.
// funções dos botões
function allPerfect() {
dropdowns.setValue(values.perfect)
}
function allNeedImprovements() {
dropdowns.setValue(values.improvements_needed)
}
function allUnacceptable() {
dropdowns.setValue(values.unacceptable)
}
function clear() {
dropdowns.setValue(values.empty)
}
function copy() {
var copy = folha de cálculo.copy(featureName + ' - report')
// Agora copiámos duas folhas com os mesmos valores
// mas mudámos os nomes (com um sufixo "copy"),
// neste caso, temos de lhes dar os nomes originais
// renomear folha de relatório
copy.getSheets()[0].setName(report.getName())
// mudar o nome da folha de configuração
copy.getSheets()[1].setName(config.getName())
}
O copiar() criará automaticamente uma nova folha de cálculo com o nome (no nosso exemplo) "Formulário de início de sessão do utilizador - relatório", mesmo ao lado do atual.
Atribua os nossos métodos aos botões criados anteriormente. Selecionar Atribuir um guião após um clique com o botão direito do rato no botão...
...e digite o nome do método, aqui é tudoPerfeito
Não é necessário fechar o gerador. Utilize as acções em massa para preparar o formulário para um novo relatório, altere o nome da caraterística e guarde outra cópia!
Possibilidades de Script Google Apps são tão vastas que para as discutir seria necessária uma série de artigos. Se estiver interessado em otimizar o seu trabalho de escritório, não hesite em consultar o documentos oficiais e tornar as suas folhas ainda mais inteligentes!
Existem alguns truques realmente úteis, como este de xfanatical.com sobre a exportação da folha de cálculo do Google para PDF.
O exemplo descrito neste artigo é aqui. Espero que gostes. Divirtam-se!