Amauri Bekesius • 15 jan 2025 • Microsoft Excel
Aproximadamente desde junho de 2020 a automação por script no MS-Excel 365, conhecida como Office Scripts foi introduzida. Esta funcionalidade permite aos usuários automatizarem tarefas repetitivas no Excel usando scripts baseados em JavaScript. Posto isto, podem me perguntarem: Então qual a diferença de utilizar Office Scripts e Macros? São diversas respostas, sendo:
Portanto, temos aqui uma circunstância mais para o lado do Office Scripts do que pelas Macros. Independente dessa questão, iremos desenvolver um exemplo com a utilização do Office Script e com isso fazer com que você consiga diversas situações no seu dia a dia no quesito produtividade e rapidez de execução.
PASSO 1:
Tenho uma situação repetitiva, onde todos os dias exporto do sistema um relatório em Excel 365 e onde tenho sempre que fazer ajustes de eliminação de linhas e colunas e algumas cores. Pois bem, desta forma, irei utilizar um Script para toda vez que abrir este arquivo aciono este script para que possa realizar essas tarefas de forma automática.
Detalhe, esse relatório tem essas “anomalias” sempre nas mesmas linhas / colunas e as cores utilizadas são sempre as mesmas, portanto, ao invés de fazer como sempre faço (de forma manual), iremos automatizar. Aqui a demonstração da planilha exportada pelo sistema.
PASSO 2:
Verificando a(s) linha(s) e a(s) coluna(s) afetadas, irei separar os intervalo para facilitar no momento da gravação da ação, ou seja, notem que tenho as primeiras linhas como cabeçalho que para minha utilização, não se faz necessário, bem como, da coluna G em diante. Todos os dias manualmente excluo essas linhas e essas colunas.
Na célula A1 até a última coluna F1, tenho que colocar uma cor de fundo azul marinho (aqui utilizo o tom mais forte desta cor) e cor da fonte branca, conforme imagem abaixo:
PASSO 3:
Uma vez detectado esses intervalos, basta gravar um Script com essas ações, onde na guia Automatizar – 1º ícone à esquerda, Gravar Ações.
Neste instante, uma nova janela é aberta e basta seguir com suas atualizações que a gravação se inicia. Foram 3 ações, onde:
1. Selecionei as linhas de 1 a 7 e com a combinação das teclas de atalho (CTRL -) ocorreu a exclusão das mesmas;
2. Selecionei da coluna G e mais umas 10 colunas aleatoriamente e com a combinação das teclas de atalho (CTRL -) ocorreu a exclusão das colunas;
3. Selecionei o cabeçalho das células A1 até F1 adicionando cor azul intença no fundo destas células e como cor da fonte branca.
Neste instante, parei a gravação, renomeei esta gravação de Script para Atualizar e pronto. A cada arquivo exportado do sistema antes de começar minhas análises, vou até a guia Automatizar e clico no Script criado e tudo funciona perfeitamente, ganhando assim tempo com a rapidez da execução deste script.
Existe ainda a possibilidade de criar um botão e colocar na planilha, porém, não o fiz, optando em ir até a guia mesmo e clicar no Script.
E aqui o código em Java Script:
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Delete range 1:7 on selectedSheet
selectedSheet.getRange("1:7").delete(ExcelScript.DeleteShiftDirection.up);
// Delete range G:P on selectedSheet
selectedSheet.getRange("G:P").delete(ExcelScript.DeleteShiftDirection.left);
// Set fill color to #002060 for range A1:F1 on selectedSheet
selectedSheet.getRange("A1:F1").getFormat().getFill().setColor("#002060");
// Set font color to "#FFFFFF" for range A1:F1 on selectedSheet
selectedSheet.getRange("A1:F1").getFormat().getFont().setColor("#FFFFFF");
Não entrarei em detalhes apenas a linguagem criada à título de demonstração, sendo que não se faz necessidade de exibir tal código a não ser que queiram realizar algumas alterações manualmente.
Conclusão:
Com Excel 365 tenho possibilidades, funcionalidades, facilidades de trabalho na questão ganho de tempo, portanto, são detalhes que muitos não conseguem “enxergar”. Na criação desses scripts fica claro que conforme andamento das atividades do dia a dia, mais vantajoso foi criar esse script e tendo a possibilidade de muitas outras criações conforme necessidades.
Enfim, mais uma vez, cada situação uma situação. Esses artigos são para vocês lerem e analisarem a necessidade de utilização. São exemplos simples que uso para demostrar a “facilidade” dessa e de diversas outras possibilidades do nosso Excel 365.