Google Workspace में कस्टम मेन्यू का इस्तेमाल करना

स्क्रिप्ट, यूज़र इंटरफ़ेस एलिमेंट जोड़कर कुछ Google प्रॉडक्ट को बेहतर बना सकती हैं. इन एलिमेंट पर क्लिक करने पर, Apps Script फ़ंक्शन लागू होता है. इसका सबसे सामान्य उदाहरण, Google Docs, Sheets, Slides या Forms में कस्टम मेन्यू आइटम से स्क्रिप्ट चलाना है. हालांकि, Google Sheets में इमेज और ड्रॉइंग पर क्लिक करके भी स्क्रिप्ट फ़ंक्शन ट्रिगर किए जा सकते हैं.

Google Docs, Sheets, Slides या Forms में कस्टम मेन्यू

Apps Script, Google Docs, Sheets, Slides या Forms में नए मेन्यू जोड़ सकता है. साथ ही, हर मेन्यू आइटम को स्क्रिप्ट के किसी फ़ंक्शन से जोड़ा जा सकता है. (Google Forms में, कस्टम मेन्यू सिर्फ़ उस एडिटर को दिखते हैं जो फ़ॉर्म में बदलाव करने के लिए उसे खोलता है. जवाब देने के लिए फ़ॉर्म खोलने वाले उपयोगकर्ता को ये मेन्यू नहीं दिखते.)

स्क्रिप्ट सिर्फ़ तब मेन्यू बना सकती है, जब वह दस्तावेज़, स्प्रेडशीट या फ़ॉर्म से बाउंड हो. उपयोगकर्ता जब कोई फ़ाइल खोले, तब मेन्यू दिखाने के लिए, onOpen() फ़ंक्शन में मेन्यू कोड लिखें.

यहां दिए गए उदाहरण में, एक आइटम वाला मेन्यू जोड़ने का तरीका बताया गया है. इसके बाद, विज़ुअल सेपरेटर और फिर एक और आइटम वाला सब-मेन्यू जोड़ा गया है. (ध्यान दें कि Google Sheets में, नए वर्शन का इस्तेमाल न करने पर, आपको addMenu() सिंटैक्स का इस्तेमाल करना होगा. साथ ही, सब-मेन्यू का इस्तेमाल नहीं किया जा सकता.) जब उपयोगकर्ता कोई भी मेन्यू आइटम चुनता है, तो उससे जुड़ा फ़ंक्शन एक चेतावनी डायलॉग खोलता है. किस तरह के डायलॉग खोले जा सकते हैं, इस बारे में ज़्यादा जानकारी के लिए, डायलॉग और साइडबार के बारे में गाइड देखें.

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp, SlidesApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
          .addItem('Second item', 'menuItem2'))
      .addToUi();
}

function menuItem1() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the second menu item!');
}

किसी दस्तावेज़, स्प्रेडशीट, प्रज़ेंटेशन या फ़ॉर्म में, एक ही नाम वाला एक ही मेन्यू हो सकता है. अगर वही स्क्रिप्ट या कोई दूसरी स्क्रिप्ट, एक ही नाम वाला मेन्यू जोड़ती है, तो नया मेन्यू पुराने मेन्यू की जगह ले लेता है. फ़ाइल खुली होने पर, मेन्यू नहीं हटाए जा सकते. हालांकि, आने वाले समय में मेन्यू को स्किप करने के लिए, onOpen() फ़ंक्शन लिखा जा सकता है. ऐसा तब किया जा सकता है, जब कोई प्रॉपर्टी सेट हो.

Google Sheets में क्लिक की जा सकने वाली इमेज और ड्रॉइंग

Google Sheets में किसी इमेज या ड्रॉइंग के लिए भी Apps Script फ़ंक्शन असाइन किया जा सकता है. हालांकि, ऐसा तब ही किया जा सकता है, जब स्क्रिप्ट स्प्रेडशीट से बाउंड हो. नीचे दिए गए उदाहरण में, इसे सेट अप करने का तरीका बताया गया है.

  1. Google Sheets में, स्प्रेडशीट से जुड़ी स्क्रिप्ट बनाने के लिए, मेन्यू आइटम एक्सटेंशन > Apps Script चुनें.
  2. स्क्रिप्ट एडिटर में मौजूद कोई भी कोड मिटाएं और नीचे दिया गया कोड चिपकाएं.

      function showMessageBox() {
        Browser.msgBox('You clicked it!');
      }
    
  3. Sheets पर वापस जाएं और शामिल करें > इमेज या शामिल करें > ड्रॉइंग को चुनकर, कोई इमेज या ड्रॉइंग डालें.

  4. इमेज या ड्रॉइंग डालने के बाद, उस पर क्लिक करें. सबसे ऊपर दाएं कोने में, एक छोटा ड्रॉप-डाउन मेन्यू चुनने वाला टूल दिखेगा. उस पर क्लिक करें और स्क्रिप्ट असाइन करें चुनें.

  5. इसके बाद, आपको एक डायलॉग बॉक्स दिखेगा. इसमें, आपको जिस Apps Script फ़ंक्शन को चलाना है उसका नाम टाइप करें. नाम टाइप करते समय, ब्रैकेट का इस्तेमाल न करें. इस मामले में, showMessageBox. ठीक है पर क्लिक करें.

  6. इमेज या ड्रॉइंग पर फिर से क्लिक करें. फ़ंक्शन अब लागू हो जाता है.