it-swarm.com.de

Google Sheet nach ID erhalten?

Ich weiß, dass Google Apps Script eine getSheetId () -Methode für die Sheet-Klasse hat, aber gibt es eine Möglichkeit, eine Tabelle innerhalb einer Tabelle durch Bezugnahme auf die ID auszuwählen? 

Ich sehe nichts wie getSheetById () in der Spreadsheet Class-Dokumentation

16
mrfinnsmith

Sie können so etwas verwenden:

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

var sheet = getSheetById(123456789);

Um dann die Blatt-ID zu finden, die für das aktive Blatt verwendet werden soll, führen Sie dieses aus und überprüfen Sie die Protokolle oder verwenden Sie den Debugger.

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

Suchen Sie in Ihrer URL nach dem Abfrageparameter #gid.

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

In Beispiel über gid = 910184575 können Sie etwa Folgendes tun:

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