2014-10-31 6 views
10

मुझे पता है कि Google Apps स्क्रिप्ट में शीट क्लास के लिए getSheetId() method है, लेकिन आईडी का संदर्भ देकर स्प्रेडशीट के भीतर शीट का चयन करने का कोई तरीका है?आईडी द्वारा Google शीट प्राप्त करें?

मुझे Spreadsheet Class documentation में getSheetById() जैसी कुछ भी दिखाई नहीं दे रही है।

उत्तर

8

आप कुछ इस तरह का उपयोग कर सकते हैं:

function getSheetIdtest(){ 
    var id = SpreadsheetApp.getActiveSheet().getSheetId();// get the actual id 
    Logger.log(id);// log 
    var sheets = SpreadsheetApp.getActive().getSheets(); 
    for(var n in sheets){ // iterate all sheets and compare ids 
    if(sheets[n].getSheetId()==id){break} 
    } 
    Logger.log('tab index = '+n);// your result, test below just to confirm the value 
    var currentSheetName = SpreadsheetApp.getActive().getSheets()[n].getName(); 
    Logger.log('current Sheet Name = '+currentSheetName); 
} 
+2

धन्यवाद, मुझे लगता है कि कर रहा हूँ। यह बहुत बेवकूफ लगता है कि आप SpreadsheetApp.openById() कर सकते हैं और आप शीट आईडी() प्राप्त कर सकते हैं, लेकिन आप आईडी द्वारा शीट का चयन नहीं कर सकते हैं। – mrfinnsmith

-3

आईडी के बारे में सुनिश्चित नहीं हैं, लेकिन आप चादर नाम से सेट कर सकते हैं:

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
ss.setActiveSheet(ss.getSheetByName("your_sheet_name")); 

SpreadsheetApp कक्षा एक setActiveSheet method और getSheetByName method है।

2
var sheetActive = SpreadsheetApp.openById("ID"); 
var sheet = sheetActive.getSheetByName("Name"); 
+3

यदि आप शीट आईडी जानते हैं, लेकिन चादर का नाम नहीं है तो यह सहायता शीट का चयन कैसे करती है? SpreadsheetApp.openByID एक स्प्रेडशीट खोलता है, चादर नहीं। – browly

+0

@browly यह मदद करता है क्योंकि आईडी कभी नहीं बदलती है, लेकिन यदि आप स्पष्ट रूप से शीट नाम लिखते हैं और शीट का नाम बदल दिया जाता है तो स्क्रिप्ट अब काम नहीं करेगी। – Xzila

संबंधित मुद्दे