Google Apps स्क्रिप्ट में IDSheet ID पाने में असमर्थ

Aug 26 2020

मैं [यह उत्तर] [1] का उपयोग करके सक्रिय शीट आईडी प्राप्त करने की कोशिश कर रहा हूं:

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

लेकिन मेरा लकड़हारा लॉग करता है 0. क्या कुछ और ही तरीका है? मैं इस शीट को दूसरी शीट फ़ाइल से पढ़ना चाहता हूं और फिर संचालन करना चाहता हूं।

[१]: https://stackoverflow.com/questions/26682269/get-google-sheet-by-id#:~:text=filter(%20function(s)%20%7B,Logs20or%20use%20the % 20 डिबगर।

जवाब

2 Marios Aug 26 2020 at 16:57

कोड में कुछ भी गलत नहीं है।

यदि आप इस फ़ंक्शन को पहली शीट पर लागू करते हैं, तो यह सही है, जो कि सही शीट आईडी है, जैसा कि आप पृष्ठ के url से देख सकते हैं:

और यदि आप एक ही फ़ंक्शन को एक अलग शीट पर लागू करते हैं तो आपको फिर से सही शीट आईडी मिलती है:


यदि आप इसकी आईडी से एक शीट प्राप्त करना चाहते हैं तो इस पोस्ट को देखें:

आईडी द्वारा Google शीट प्राप्त करें?

  • उदाहरण:

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

उदाहरण के लिए यदि आप पहली शीट प्राप्त करना चाहते हैं (आईडी = ०) तो ऐसा करें:

var sheet = getSheetById(0);

और फिर आप इसे sheetहमेशा की तरह सभी शीट संचालन को लागू कर सकते हैं ।