Atendimento via WhatsApp Atendimento via WhatsApp

Blog Tecnológico

Excel 365: Automatizar Utilizando Script

Amauri Bekesius • 15 jan 2025 • Microsoft Excel

Excel 365: Automatizar Utilizando Script

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:

  1. Linguagem de Programação:
  • Office Scripts: Utiliza TypeScript (um superset do JavaScript).
  • Macros: Utilizam VBA (Visual Basic for Applications).
  1. Ambiente de Execução:
  • Office Scripts: Executados na nuvem, o que permite a automação em dispositivos diferentes, incluindo versões web e móveis do Excel.
  • Macros: Executados localmente no dispositivo onde o Excel está sendo usado, disponível apenas na versão desktop do Excel.
  1. Acesso e Segurança:
  • Office Scripts: A segurança é gerenciada pela conta do usuário no Microsoft 365, e os scripts são armazenados na nuvem.
  • Macros: Podem ter problemas de segurança, especialmente quando contêm código de fontes desconhecidas.
  1. Interface de Usuário:
  • Office Scripts: Utiliza o editor de código integrado ao Excel Online para criar e editar scripts.
  • Macros: Utiliza o Editor de VBA integrado ao Excel desktop.
  1. Compatibilidade:
  • Office Scripts: Projetados para funcionarem perfeitamente com a versão mais recente do Excel e são mais fáceis de serem compartilhados entre diferentes dispositivos e usuários.
  • Macros: Podem ter limitações de compatibilidade, especialmente com versões mais antigas do Excel.

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.

 https://www.eng.com.br/assets/img/artigo/Excel-Automatização_Script-001.jpg

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:

https://www.eng.com.br/assets/img/artigo/Excel-Automatização_Script-002.jpg

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.

https://www.eng.com.br/assets/img/artigo/Excel-Automatização_Script-003.jpg

Neste instante, uma nova janela é aberta e basta seguir com suas atualizações que a gravação se inicia. Foram 3 ações, onde:

https://www.eng.com.br/assets/img/artigo/Excel-Automatização_Script-004.jpg

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.

https://www.eng.com.br/assets/img/artigo/Excel-Automatização_Script-005.jpg

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.

https://www.eng.com.br/assets/img/artigo/Excel-Automatização_Script-006.jpg 

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.

Gostou deste conteúdo?




 

 

Amauri Bekesius

Amauri Bekesius

Formado em Administração de Empresas com Pós Graduação em Engenharia de Software, Certificado pela Microsoft com o titulo de Microsoft Ofice Specialist, e com certificação em Excel 365.

Instrutor em tecnologias Excel e Power BI há mais de 15 anos.

ENG DTP & Multimídia - Logo

 

 

ENVIE SEU CONTATO e SEUS COMENTÁRIOS


LinkedIn da ENG DTP Multimídia
     Facebook da ENG DTP Multimídia     Instagram da ENG DTP Multimídia