Office Script - Gravador de Ações - Problema e Solução: Classificação Horizontal


Olá seguidor e seguidora do blog!

Em mais um artigo sobre o Office Script, decidi falar sobre um problema que me fez quebrar muito a cabeça e queimar muitos neurônios: a classificação horizontal de dados na planilha.

Quando preciso aprender algo novo na linguagem, utilizo o gravador de scripts disponibilizado pela Microsoft há algum tempo. Após a geração do script, dedico um tempo para estudá-lo, reproduzi-lo e tentar reescrevê-lo algumas vezes para fixar o conceito. 

Em uma dessas oportunidades, resolvi fazer uma série de aulas sobre a classificação de dados e os scripts para classificação dos dados na vertical funcionavam perfeitamente (tanto que gerei a aula 12 na playlist sobre o tema. Clique aqui e confira!).

Na hora de gravar o script para a classificação horizontal, tudo funciona perfeitamente, mas na hora da execução: falha. Os dados não são classificados. Perdi muito tempo tentando entender o processo e deixei de lado considerando que era uma falha na ferramenta. Depois de um tempo resolvi voltar ao assunto.

Veja abaixo a linha gerada pelo script para a classificação de dados de uma linha na planilha:

w.getRange("B2:F2").getSort().apply([{ key: 0, ascending: true }], false, false);

Resumindo o comando acima: classificar os dados de B2 até F2, em ordem ascendente, sem diferenciar maiúsculas e minúsculas (1º false da instrução) e dados não tem cabeçalhos (2º false da instrução) 

Ao executar a instrução: nada... Executar de novo: nada... 

Até que resolvi olhar a documentação mais a fundo e percebi um problema: a falta de um argumento na chamada do método getSort(). 

Observe a instrução abaixo:

w.getRange("B2:F2").getSort().apply([{ key: 0, ascending: true }], false, false, ExcelScript.SortOrientation.columns);

Este trecho em negrito (ExcelScript.SortOrientation.columns) é o problema. O gravador de macros simplesmente não o adiciona... 

Após incluir manualmente o parâmetro que faltava, a classificação não só funcionou como funcionou rápida e eficientemente. 

Minha dica para você que vai utilizar o gravador de ações do Office Script: antes de considerar o código gerado como definitivo, faça testes. Isso vai te poupar muita dor de cabeça e muitas horas de estudo. 

Outra dica é a que vem de um amigo: antes de fazer qualquer coisa, leia o manual (mas ele me fala isso com um palavrão no meio da frase 😊 )

Espero que meus artigos aqui no blog estejam te ajudando a entender o que é o Office Script. Como disse antes, é uma pena que ainda não esteja disponível para todos.

Grande abraço, obrigado pela leitura e não deixe de conferir o curso OFFICE SCRIPT FUNDAMENTOS que lancei em março de 2022. Ele está disponível em meu portal de treinamentos (clique aqui) ou na Udemy (clique aqui).
Para cupons de desconto na Udemy, confira esse outro artigo que escrevi e é atualizado mensalmente com promoções (clique aqui).

✔ Para acesso ao conteúdo programático do curso clique aqui.



Convido você a ler outros artigos que já escrevi sobre o Office Script:


Até o próximo artigo!



Alessandro Trovato
Compartilhando conhecimento, sempre!


#typescript #officescript #excelonline #excelscript #trovato #mvp #mvpbr #cursostrovato #if #elseif


Postagem Anterior Próxima Postagem