Pular para o conteúdo principal

Destaques

Rumores sobre o iPhone Ultra: A Possível Ausência do Apple Pencil

Rumores sobre o iPhone Ultra: A Possível Ausência do Apple Pencil O Impacto da Dimensão da Tela e a Exclusividade de Recursos O mercado de tecnologia está em polvorosa com os vazamentos sobre o novo iPhone Ultra. A principal curiosidade reside na dimensão da tela interna, que deve se aproximar das dimensões do iPad mini, sugerindo uma mudança significativa no posicionamento de produto da Apple. Esta lâmpada inteligente de tecnologia avançada serve como exemplo de como a integração de hardware e software é crucial para a experiência do usuário. A ausência do suporte para o Apple Pencil em um dispositivo com tela tão grande é um ponto de discussão técnico. Enquanto o Siri Reinventada representa a evolução da assistência virtual, Apple foca em uma experiência de consumo de mídia e produtividade. A dimensão da tela é o fator determinante para a melhorar experiência de uso. Créditos: Pexels

Atualização automática importHTML - Script para usar com o TRIGGER

Atualização automática importHTML - Script para usar com o TRIGGER

Neste post, disponibilizo um script para utilizar no Google planilhas para que a função IMPORTHTML() seja atualizada automaticamente.

Como teve base um endereço de cotação, https://economia.uol.com.br/cotacoes/?20181115183715, o script faz um registro das alterações de cotações de cada moeda.
Coloquei bastante comentário no código, creio que fique fácil para quem quiser adaptar.

Abaixo segue como proceder para colocar o script na sua planilha.

Com a planilha aberta, copiar o script, colar na área de script (Menu Ferramentas, Editor de Script), substituir os campos (Arg_URL, Arg_Consulta, Arg_Indice) pelos dados que você precisa para a consulta, salvar e dar autorização para o script.
Para que funcione de maneira automática, acrescente o script a um trigger (Com o editor de script aberto, clique em editar, acionadores do projeto atual,) com base no tempo (clique em adicionar acionador, em Escolha a função que será executada, selecione o seu script, em Selecione a origem do evento, selecione Baseado no tempo, em Selecione o tipo de evento, selecione o tempo (contador de minutos, contador de horas) e em Selecione o intervalo, selecione o tempo) .

Assista ao vídeo para ver o script funcionando no endereço https://youtu.be/0NIGzM13X7A.

function Atualiza_IMPORTHTML_Com_Registro() {

  //Variáveis IMPORTHTML
  var Arg_URL = "Endereço do sítio"; //O URL da página a ser examinada, incluindo o protocolo (como "http://").
  var Arg_Consulta = "Table/List"; // "list" (lista) ou "table" (tabela), dependendo do tipo de estrutura que contém os dados desejados.
  var Arg_Indice = Numero; // O índice que identifica qual tabela ou lista deve ser retornada, conforme definido no código HTML.
  var Hora_Agora = new Date(); // Pega no sistema a hora atual
  var importHTML_Funcao = '=IMPORTHTML("' + Arg_URL + '";"'+ Arg_Consulta + '";'+Arg_Indice + ')'; // Insere todos os argumentos dentro da função IMPORTHTML

  // As próximas quatros linhas fazem a atualização do importHTML

  SpreadsheetApp.getActiveSpreadsheet().getRange("A1").clearContent(); //Esvazia o conteúdo da célula E1
  SpreadsheetApp.flush(); // Atualiza a planilha
  SpreadsheetApp.getActiveSpreadsheet().getRange("A1").setValue(importHTML_Funcao);// Insere a função importHTML na célula E1
  SpreadsheetApp.getActiveSpreadsheet().getRange("A6").setValue("Função IMPORTHTML atualizada às: " + Hora_Agora.toLocaleDateString() + " " + Hora_Agora.toLocaleTimeString()); // Insere data e hora na célula E6


  // Daqui para baixo é para fazer o regitro se houver diferença no valor da cotação por moeda

  //Variáveis para inserção do registro na ultima linha
  var aba = SpreadsheetApp.getActiveSheet();
  var ultima = aba.getLastRow();

   //Variaveis de cotação
  var dolarturismo = aba.getRange(2,9).getValue();
  var libra = aba.getRange(3,9).getValue();
  var pesoarg = aba.getRange(4,9).getValue();
  var bitcoin = aba.getRange(5,9).getValue();

  // Inserindo a primeira cotação
  if(aba.getRange(8,1).getValue()==""){
 
      //Variaveis de cotação
    dolarturismo = aba.getRange(1,3).getValue();
    libra = aba.getRange(2,3).getValue();
    pesoarg = aba.getRange(3,3).getValue();
    bitcoin = aba.getRange(4,3).getValue();
 
    if(aba.getMaxRows()==ultima){
      aba.insertRowAfter(ultima);
      ultima=ultima+1;
    }
 
    ultima=ultima+1;
 
    for(var i=1;i<=1;i++){
      aba.getRange(8,1).setValue(aba.getRange(1,1).getValue());
      aba.getRange(8,2).setValue(aba.getRange(1,3).getValue());
      aba.getRange(8,3).setValue("Função IMPORTHTML atualizada às: " + Hora_Agora.toLocaleDateString() + " " + Hora_Agora.toLocaleTimeString());
      aba.getRange(9,1).setValue(aba.getRange(2,1).getValue());
      aba.getRange(9,2).setValue(aba.getRange(2,3).getValue());
      aba.getRange(9,3).setValue("Função IMPORTHTML atualizada às: " + Hora_Agora.toLocaleDateString() + " " + Hora_Agora.toLocaleTimeString());
      aba.getRange(10,1).setValue(aba.getRange(3,1).getValue());
      aba.getRange(10,2).setValue(aba.getRange(3,3).getValue());
      aba.getRange(10,3).setValue("Função IMPORTHTML atualizada às: " + Hora_Agora.toLocaleDateString() + " " + Hora_Agora.toLocaleTimeString());
      aba.getRange(11,1).setValue(aba.getRange(4,1).getValue());
      aba.getRange(11,2).setValue(aba.getRange(4,3).getValue());
      aba.getRange(11,3).setValue("Função IMPORTHTML atualizada às: " + Hora_Agora.toLocaleDateString() + " " + Hora_Agora.toLocaleTimeString());
      //Memória da primeira cotação
      aba.getRange(2,9).setValue(dolarturismo);
      aba.getRange(3,9).setValue(libra);
      aba.getRange(4,9).setValue(pesoarg);
      aba.getRange(5,9).setValue(bitcoin);
    }
 
 
  }


  //Verifica preço do dolar
  if(aba.getRange(1,3).getValue()!=dolarturismo){
    if(aba.getMaxRows()==ultima){
      aba.insertRowAfter(ultima);
      ultima=ultima+1;
    }
 
    ultima=ultima+1;
         
    for(var i=1;i<=1;i++){
      aba.getRange(ultima,1).setValue(aba.getRange(1,1).getValue());
      aba.getRange(ultima,2).setValue(aba.getRange(1,3).getValue());
      aba.getRange(2,9).setValue(aba.getRange(1,3).getValue());
      aba.getRange(ultima,3).setValue("Função IMPORTHTML atualizada às: " + Hora_Agora.toLocaleDateString() + " " + Hora_Agora.toLocaleTimeString());
    }
  }

  //Verifica preço da libra
  if(aba.getRange(2,3).getValue()!=libra){
    if(aba.getMaxRows()==ultima){
      aba.insertRowAfter(ultima);
      ultima=ultima+1;
    }
 
    ultima=ultima+1;

     
    for(var i=1;i<=1;i++){
      aba.getRange(ultima,1).setValue(aba.getRange(2,1).getValue());
      aba.getRange(ultima,2).setValue(aba.getRange(2,3).getValue());
      aba.getRange(3,9).setValue(aba.getRange(2,3).getValue());
      aba.getRange(ultima,3).setValue("Função IMPORTHTML atualizada às: " + Hora_Agora.toLocaleDateString() + " " + Hora_Agora.toLocaleTimeString());
    }
  }

  //Verifica preço do peso argentino
  if(aba.getRange(3,3).getValue()!=pesoarg){
    if(aba.getMaxRows()==ultima){
      aba.insertRowAfter(ultima);
      ultima=ultima+1;
    }
 
    ultima=ultima+1;

 
    for(var i=1;i<=1;i++){
      aba.getRange(ultima,1).setValue(aba.getRange(3,1).getValue());
      aba.getRange(ultima,2).setValue(aba.getRange(3,3).getValue());
      aba.getRange(4,9).setValue(aba.getRange(3,3).getValue());
      aba.getRange(ultima,3).setValue("Função IMPORTHTML atualizada às: " + Hora_Agora.toLocaleDateString() + " " + Hora_Agora.toLocaleTimeString());
    }
  }

  //Verifica preço do bitcoin
  if(aba.getRange(4,3).getValue()!=bitcoin){
    if(aba.getMaxRows()==ultima){
      aba.insertRowAfter(ultima);
      ultima=ultima+1;
    }
 
    ultima=ultima+1;

 
    for(var i=1;i<=1;i++){
      aba.getRange(ultima,1).setValue(aba.getRange(4,1).getValue());
      aba.getRange(ultima,2).setValue(aba.getRange(4,3).getValue());
      aba.getRange(5,9).setValue(aba.getRange(4,3).getValue());
      aba.getRange(ultima,3).setValue("Função IMPORTHTML atualizada às: " + Hora_Agora.toLocaleDateString() + " " + Hora_Agora.toLocaleTimeString());
    }
  }

  aba.getRange(1,1).activate();

}

DIVULGAÇÃO AFILIADA: Este vídeo e descrição ou texto, podem conter links de afiliados, o que significa que, se você clicar em um dos links de produtos, receberei uma pequena comissão. Não colocarei aqui nada que não tenha verificado e / ou usado pessoalmente.

Comentários

Postagens mais visitadas