Não é possível obter o ID da planilha no Google Apps Script

Aug 26 2020

Tenho tentado obter o ID da página ativa de [esta resposta] [1] usando:

function getActiveSheetId(){
  var id  = SpreadsheetApp.getActiveSheet().getSheetId();
  Logger.log(id.toString());
  return id;
}

mas meu logger registra 0. Existe alguma outra maneira de obter o mesmo? Desejo ler esta planilha de outro arquivo de planilha e, em seguida, realizar as operações.

[1]: https://stackoverflow.com/questions/26682269/get-google-sheet-by-id#:~:text=filter(%20function(s)%20%7B,Logs%20or%20use%20the % 20debugger.

Respostas

2 Marios Aug 26 2020 at 16:57

Não há nada de errado com o código.

Ele retorna 0 se você aplicar esta função à primeira página, que é o ID da página correto, como você pode ver no url da página:

e se você aplicar a mesma função a uma página diferente, obterá novamente o id de página correto:


Se você deseja obter uma folha por seu id, consulte esta postagem:

Obter planilha do Google por ID?

  • Exemplo:

     function getSheetById(id) {
     return SpreadsheetApp.getActive().getSheets().filter(
      function(s) {return s.getSheetId() === id;}
    )[0];
    }
    

por exemplo, se você deseja obter a primeira folha (id = 0), faça o seguinte:

var sheet = getSheetById(0);

E então você pode aplicar todas as operações de planilha sheetcomo de costume.