1
resposta

[Dúvida] setSpreadsheetTimeZone não funciona mais?

Bom dia, estava realizando este exercício e percebi que o ChatGPT estava toda hora me retornando para executar o "setSpreadsheetTimeZone" para alterar o formato de data da minha planilha. E em todos os momentos estava dando erro. Após isso comecei a pesquisar e percebi que o meu Apps Script não possui tal método. Os senhores sabem se realmente este método não existe?

Para informação, só consegui alterar os dados de toda a planilha no formato dd/mm/yyyy com este script após uma longa conversa com o ChatGPT:

function alterarLocalizacaoPlanilha() {
  var planilha = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1NvUDSdNi8D9Z-TOY8qbmrh7ry4x81qZ5wKdjvBwMhO8/edit#gid=0').getActiveSheet();

  var dados = planilha.getDataRange().getValues();
  
  // Percorre todas as células da planilha
  for (var i = 0; i < dados.length; i++) {
    for (var j = 0; j < dados[i].length; j++) {
      var valor = dados[i][j];
      if (typeof valor === 'object' && valor instanceof Date) {
        // Formata a data para o formato desejado
        var dataFormatada = Utilities.formatDate(valor, Session.getScriptTimeZone(), "dd/MM/yyyy");
        planilha.getRange(i + 1, j + 1).setValue(dataFormatada);
      }
    }
  }
1 resposta

Olá, Ramiro!

Esse método existe. No entanto, ele deve ser aplicado ao objeto Spreadsheet, não diretamente através de SpreadsheetApp.

Por exemplo, você pode usar o setSpreadsheetTimeZone para ajustar o fuso horário da sua planilha para o horário de São Paulo/Brasília:

function ajustarFusoHorario() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  spreadsheet.setSpreadsheetTimeZone('America/Sao_Paulo');
}

Neste exemplo, getActiveSpreadsheet() obtém a planilha atualmente ativa e setSpreadsheetTimeZone('America/Sao_Paulo') define o fuso horário para o horário de Brasília. Certifique-se de executar esta função enquanto a planilha desejada está ativa.

Se você ainda estiver enfrentando problemas é importante lembrar que alterar o fuso horário da planilha afeta como as datas são exibidas e manipuladas, mas não converte automaticamente os formatos de data existentes nas células.

Deixo aqui também a sua respectiva documentação:

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!