Admirável mundo novo! Na verdade, o Google Docs, hoje rebatizado para Google Drive, nem é tão novo. Mas o uso deste passou a ser mais comum com a chegada de novos serviços e aplicativos baseados em nuvem, e claro, o Google Chrome, que tornou a vida destes mais amigável.
Não sei ao certo a quanto tempo, mas o aplicativo de planilhas do Google Drive já suporta criação de Scripts, o que na linguagem dos VBAzeiros de plantão significa Macros. Opa! Agora ficou interessante! E como!
Claro, não é exatamente a mesma coisa, mas tem a mesma função e contexto, que é a de automatizar rotinas corriqueiras em planilhas e criar facilitadores. O que pretendo aqui é mostrar que é possível fazer o proposto, sendo uma ótima alternativa para automatizar nossas planilhas que estão cada vez mais fora de nossos computadores.
Criando o Script
Vamos fazer algo simples, mas útil. As planilhas do Google Drive não reconhecem emails como links, a não ser que você use a função HYPERLINK. Se for só um email, tudo bem, mas quando você tem uma lista, a coisa fica chata. Vamos automatizar isso.
Abra o Google Drive e crie uma nova Planilha (nem preciso dizer que você precisa de uma conta no Google, certo?).
Agora, crie uma lista simples de emails:
No menu principal, vá na Ferramentas -> Gerenciador de Scripts para apresentar a seguinte tela:
Aqui estarão todos os scripts que você tiver criado para sua planilha. No seu caso, essa lista provavelmente estará vazia. De toda forma, clique na opção novo e a seguinte janela se abrirá:
Nesta tela há toda uma central de ajuda que auxiliar no entendimento e no processo de criação de scripts para seus documentos no Google Drive. Você dar uma passeada por aqui, mas para nosso tutorial, vamos apenas fechar essa tela e continuar.
O que aparece é a tela de código com uma função vazia para você começar a trabalhar.
E é aqui que começamos. O primeiro fato que você terá que se acostumar, caso você seja um programador VBA, é que aqui, a linguagem de automação não é mais o Visual Basic, mas sim o Javascript. Com isso você vai ter que se acostumar. O lado bom é que além do Javascript ser uma linguagem poderosa, atualmente ela é tida como a linguagem de programação mais promissora do mercado.
Dê um nome para seu projeto (onde está escrito projeto sem título) e onde está sua função vazia (myFunction), substituia pelo seguinte código:
function convertToHyperlink() { var range = SpreadsheetApp.getActiveRange(); var emailpattern = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; var numRows = range.getNumRows(); var numCols = range.getNumColumns(); for (var i = 1; i <= numRows; i++) { for (var j = 1; j <= numCols; j++) { var value = range.getCell(i,j).getValue(); if (value.match(emailpattern)) { value = "=HYPERLINK(\"mailto:" + value + "\"; \"" + value + "\")"; range.getCell(i,j).setValue(value); } else { Browser.msgBox("Ops! " + value + " on cell '" + range.getCell(i, j).getA1Notation() + "' is not a valid email"); } } } }; |
Em resumo, o que o código faz é fazer um loop nas células que estão selecionadas (SpreadsheetApp.getActiveRange(), aquivalente ao Selection no VBA do Excel e verifica uma a uma se ela contém um email válido através de uma Expressão Regular. Se a célula conter um email válido, ele aplicar a função HYPERLINK. Caso contrário, emite um aviso usando a função Browser.msgBox, que obviamente é o bom e velho MsgBox.
A parte chata é que o modelo de objetos não oferece um meio facilitado de fazer um loop do tipo ForEach nas células. Como é possível ver no código, é preciso fazer um loop duplo (linha, coluna) para ter acesso a todas as células.
Com o código aplicado, salve seu script (botão salvar) e fecha a janela. Você estará de volta a sua planilha. Selecione todas as celulas preenchidas, vá até o menu Ferramentas->Gerenciador de Scripts. Na tela, deve aparecer a sua função. Clique sobre o nome dela e depois em Executar. O resultado será o seguinte:
Claro. Como a célula A5 não contém um email válido, ele emitou o aviso. Para o restante, a função é executa e o resultado é:
Está feito! Nossos emails na planilha agora são clicáveis.
Resumo
É um começo. Nem de longe quis aqui abranger tudo o que os scripts do Google Drive podem fazer, mas sim abrir aqui a possibildade para programadores VBA explorarem essa funcionalidade. Assim como as macros em VBA, o scripts do Google Drive irão facilitar a vida das planilhas online e provavelmente sejam um novo e bem vindo lar para aqueles que se sentiam fora do eixo vendo as aplicações migrarem pouco a pouco para a internet.
Bom divertimento!