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:
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:
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:
Office Script | TypeScript - Método reduce para array (dica)
Office Script | TypeScript - Método reduceRight para array
Office Script | Que tal estudar esta tecnologia agora?
Office Script | Estrutura de decisão IF ... ELSE IF ... ELSE ... - Artigo 1
Office Script | TypeScript - Método reduceRight para array
Office Script | Que tal estudar esta tecnologia agora?
Office Script | Estrutura de decisão IF ... ELSE IF ... ELSE ... - Artigo 1
Office Script | Estrutura de decisão IF ... ELSE IF ... ELSE ... - Artigo 2
Office Script | Estrutura de decisão SWITCH ... CASE - Artigo 1
Office Script | Estrutura de decisão SWITCH ... CASE - Artigo 1
Até o próximo artigo!
Alessandro Trovato
Compartilhando conhecimento, sempre!
#typescript #officescript #excelonline #excelscript #trovato #mvp #mvpbr #cursostrovato #if #elseif