Office Script - Estrutura de Repetição FOR

 

Olá seguidor e seguidora do blog!

Em mais um artigo sobre o Office Script escrevo sobre o uso da estrutura de repetição FOR ... 

Antes de mais nada, qual a principal funcionalidade de uma estrutura de repetição? Como o próprio nome já diz, a estrutura de repetição basicamente é um laço em que uma condição é validada. Enquanto essa condição for satisfatória os ciclos de repetições continuam a ser executados. Quando o limite do ciclo é atingido, as repetição acabam.

Simples na teoria mas controverso na prática. Há ainda muitas dúvidas em como aplicar corretamente as estruturas de repetição e esse artigo, junto com os demais que já escrevi visão dismistificar essa dificuldade.

Antes de explicar COMO FAZER uma estrutura de repetição, é bom entender PORQUE FAZER uma estrutura de repetição em sua planilha. 

Imagine que você tem uma série de registros em sua tabela e gostaria de percorrer cada um deles para fazer uma análise. Vamos usar o exemplo prático de Meta x Resultado. Há duas colunas em sua planilha e você quer ver se o resultado superou a meta. 



Uma dica antes de continuarmos: Mentalize a ação que sua rotina deverá fazer. Isso ajuda na criação do código

Rotina que eu imagino para solucionar o problema: Vou colocar o cursor na célula E2. Vou inserir a fórmula D2-C2 e na sequência verificar se o resultado é positivo ou negativo. Se for positivo vou escrever na célula "Acima da Meta" e se for negativo, vou escrever na célula "Abaixo da Meta". Na sequência vou deslocar meu cursor para a célula E3 e repetir o processo.

Porque destaquei a frase "repetir o processo" acima? Fiz isso pois esse é o meu gatilho que indica que uma estrutura de repetição é necessária para fazer o que preciso. Pois tenho um número definido de repetições para fazer. Se você conhece já um pouco das estruturas de repetição, vai me dizer: Você não poderia utilizar também o WHILE? A resposta é sim, poderia mas, vamos considerar que eu utilizo o FOR quando preciso de um número fixo de repetições enquanto o While me auxiliaria em um número variável de combinações (quando o número de registros varia bastante na planilha). 

A sintaxe da instrução FOR é:

for (variável_controle; condição; incremento_variável_controle){ 
    ... instruções
}

variável_controle: É a variável utilizada no controle de repetições. Registra a quantidade de vezes que a sequência será executada.

condição: É nosso teste lógico. Enquanto for verdadeiro (true) as repetições vão continuar ocorrendo.

incremento_variável_controle: Para cada ciclo, haverá um incremento na variável de controle. Ela pode ser expressa em unidades numéricas de acordo com a necessidade. 

Exemplo 1: Exibir na região de console o resultado das interações. A variável a é criada na primeira parte da instrução (variável de controle) e é iniciada com o valor 1. Enquanto a for menor ou igual a 5 as repetições serão realizadas (a <= 5). A cada ciclo a variável de controle é incrementada em 1 (a += 1)

for (let a:number = 1; a <= 5; a +=1) {
    console.log('Valor do ciclo (Ex1): ' + a.toString());
}

Parece difícil, mas é muito simples... Vamos voltar ao nosso exemplo acima. 
O código para resolver o problema está abaixo:

Exemplo 2:

function main(workbook: ExcelScript.Workbook)
{
  let w = workbook.getActiveWorksheet();
  let qtd_registros: number = 16
  let ln:number = 1;
  let col:number = 4;
  let resultado:number = 0;

  w.activate();

  for (let a:number = 1; a <= qtd_registros; a += 1){
    resultado = w.getCell(ln, col - 1).getValue() - w.getCell(ln, col - 2).getValue();

    if (resultado > 0){
      w.getCell(ln,col).setValue("Acima da Meta");
      w.getCell(ln,col).getFormat().getFill().setColor("FF0000")
    }
    else {
      w.getCell(ln, col).setValue("Abaixo da meta");
      w.getCell(ln, col).getFormat().getFill().setColor("0000FF")
      }

    w.getCell(ln, col).getFormat().getFont().setColor("FFFFFF")
    ln += 1;

  } 
}


Após percorrer cada registro e fazer a análise, o resultado pode ser visto acima (com um bônus)... Fiz o preenchimento das células acima da meta de azul e as abaixo da meta de vermelho, além de alterar a cor da fonte para a cor branca.

Agora é sua vez... Pratique um pouco o uso do FOR e tenha em mãos uma ótima opção de estrutura de repetição. 

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

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