web-dev-qa-db-fra.com

Obtenir la fiche Google par ID?

Je sais que Google Apps Script utilise une méthode getSheetId () pour la classe de feuille, mais existe-t-il un moyen de sélectionner une feuille dans une feuille de calcul en référençant l'ID? 

Je ne vois rien de tel que getSheetById () dans la documentation de la classe Spreadsheet

16
mrfinnsmith

Vous pouvez utiliser quelque chose comme ceci:

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

var sheet = getSheetById(123456789);

Et ensuite, pour trouver l'ID de feuille à utiliser pour la feuille active, exécutez ceci et vérifiez les journaux ou utilisez le débogueur.

function getActiveSheetId(){
  var id  = SpreadsheetApp.getActiveSheet().getSheetId();
  Logger.log(id.toString());
  return id;
}
15
Serge insas
var sheetActive = SpreadsheetApp.openById("ID");
var sheet = sheetActive.getSheetByName("Name");
4
Javier

Regardez votre URL pour le paramètre de requête #gid

https://docs.google.com/spreadsheets/d/1Vk7kzMD3DhfUeLasDdSK6Z9ScNrryPrawAxHGFimKp8/edit#gid=910184575

Dans l'exemple ci-dessus, gid = 910184575, vous pouvez donc faire quelque chose comme ceci:

function getSheetById_test(){
  var sheet = getSheetById(910184575);
  Logger.log(sheet.getName());
}

function getSheetById(gid){
  for each (var sheet in SpreadsheetApp.getActive().getSheets()) {
    if(sheet.getSheetId()==gid){
      return sheet;
    }
  }
}
1
Rodolpho Brock