Office Script - Está na hora de aprender a trabalhar com Arrays

Imagem como o texto em destaque sobre o Office Script

Olá, seguidor e seguidora do blog!

Achou interessante o tema desse artigo? Acredito que está na hora de começarmos a pensar em maneiras alternativas de fazer as coisas no Excel Online.

Se você já tentou escrever suas próprias rotinas, percebeu que percorrer as células da planilha para fazer com que os dados sejam analisados, depois inseridos os resultados não é uma boa opção. Isso pode tomar um bom tempo de processamento e sua frustração com o ambiente vai começar cedo! Afinal, todos nós esperamos que nosso código seja o mais eficiente possível, não é mesmo?

Para que você possa obter a máxima eficiência do Script durante sua execução, está na hora de começar a pensar em trabalhar exclusivamente com os dados em memória, ou sendo mais claro: convertendo os intervalos de células de sua planilha em arrays na memória e, só depois disso, fazer o tratamento necessário.

Há algum tempo publiquei uma série de aulas no Youtube mostrando técnicas diferentes de conciliação bancária. Em um processo de 2 horas, ele foi reduzido para aproximadamente 10 segundos. Parece incrível não? E isso foi feito no VBA e utilizando várias técnicas de manipulação de objetos em memória (arrays, dictionarys, etc...).

Se quiser ver essas aulas, clique aqui e assista as aulas de 172 a 196 da playlist. Clique na aba Macro e VBA para acessá-las.

Agora, está na hora de falar disso para o Office Script.

O Office Script utiliza o Typescript como linguagem de desenvolvimento e, como tal, devemos seguir suas regras. Um array é um tipo de dados especial que pode armazenar múltiplos valores (considerando que você nunca tenha ouvido falar de um array, essa é a explicação técnica para o recurso!).

No Office Script é necessário tipar (definir o tipo de dados que será armazenado na variável) e para isso utilizamos : (dois pontos). Damos o nome de type annotation (utilizado para forçar o tipo de dados). 

Como o Typescript é um superset do Javascript, há tipos nativos que podemos utilizar em sua definição: number, string, boolean, object e any (neste caso, any só no Javascript, no Office Script não é possível utilizar).

No código abaixo, observe a atribuição (let) de cinco variáveis e como se comporta o ambiente quando definimos uma variável como tipo any.

Primeira parte do código com a descrição das variáveis declaradas.

A linha vermelha, abaixo da declaração indica que ela não foi aceita e se rodarmos o script, um error ocorrerá.
Comentando essa linha do código, o resultado será apresentado como a imagem abaixo, um print do console.log.

Console de resultados com a saída das linhas programadas na imagem anterior









Mas, onde quero chegar? 

Gosto de passar aos meus alunos e alunas conceitos completos que vão dar uma melhor noção do que estão fazendo ao iniciar seus estudos práticos! Se você acha isso ruim, me desculpe 😜, mas não vou mudar 😁!

Agora vamos declarar um array de exemplo:

let cursos: string[] = ['VBA''Excel''Word']

Declaramos um array chamado cursos que armazena 3 valores: VBA, Excel e Word. O type annotation dele é string e o mais importante para a criação do array é o uso dos colchetes, logo a frente do tipo de dados.

Agora, vamos ver essa instrução em uma rotina completa:

function main(workbook: ExcelScript.Workbook) {
    
  let cursos: string[] = ['VBA''Excel''Word']

  console.log('Cursos: ' + cursos)
  console.log('Cursos[1]: ' + cursos[1])
  console.log('Cursos[2]: ' + cursos[2])
  console.log('Cursos tipo: ' + typeof(cursos))

  for (let a: number = 0; a <= cursos.length -1; a++) {
    console.log('Ciclo: ' + a + ':' + cursos[a])
  }
    
}

e o resultado...

Console com o resultado da estrutura de programação do corpo do vídeo















Para acessar um item específico do Array, devemos utilizar sua posição a partir de um índice que começa em 0 (zero). Para imprimir o valor Word devemos utilizar a instrução: console.log(cursos[2])

Percorrer um Array não é difícil pois, podemos utilizar uma estrutura de repetição como a for. Observe novamente o código do exemplo:

  for (let a: number = 0; a <= cursos.length -1; a++) {
    console.log('Ciclo: ' + a + ':' + cursos[a])
  }

Há um artigo específico aqui no blog que mostra como você pode escrever a estrutura de repetição For. Se quiser ler, clique aqui.

O Office Script fornece muitos métodos diferentes de manipulação de arrays e para encontrar todos os métodos acesse meu curso completo sobre o tema que está em meu novo portal.

Utilize o cupom: ARTIGOTROVATO e ganhe um desconto de 30% no valor do curso. Esse cupom deve ser utilizado na hora do pagamento e é exclusivo para você que leu o artigo e acompanha meus trabalhos por aqui. 

Você não vai ver a divulgação deste cupom em lugar nenhum mais.

Clique aqui para adquirir o curso com 30% de desconto.


Agora é sua vez... Pratique um pouco e escreva o código deste artigo (Não vale copiar e colar!). 

Que assunto gostaria que eu escrevesse no próximo artigo?
Deixe sua sugestão nos comentários!

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

Imagem com uma representação do Office Script

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 #excelonlinescript

Mais vendidos Amazon

Postagem Anterior Próxima Postagem