प्रज़ेंटेशन में आइटम चुनना

चुनने का विकल्प, फ़िलहाल किसी खुले हुए प्रज़ेंटेशन पेज में चुना हुआ है. जैसे, हाइलाइट किए गए टेक्स्ट या टेबल. इस गाइड में आपको और Apps Script का इस्तेमाल करके, चुने गए हिस्से को किसी चालू प्रज़ेंटेशन पर सेट करें.

यह चुना गया हिस्सा, स्क्रिप्ट शुरू होने के समय का स्नैपशॉट है. अगर उपयोगकर्ता स्क्रिप्ट के चलने के दौरान क्लिक और चयन बदल जाते हैं, वे परिवर्तन लागू नहीं होगा.

चुनाव और उनका टाइप

चुनी गई इमेज देखने के लिए, चुनना क्लास. क्लास में चुने गए ऑब्जेक्ट को पाने के कई तरीके होते हैं. ये तरीके चुने गए ऑब्जेक्ट का टाइप.

SelectionType एनम खास तरह के ऑब्जेक्ट दिखाता है. उदाहरण के लिए, अगर उपयोगकर्ता के पास किसी आकार में कुछ टेक्स्ट चुना है, तो चुनाव के टाइप से TEXT होना चाहिए. इस स्थिति में, टेक्स्ट की चुनी गई रेंज को वापस पाने के लिए, selection.getTextRange() तरीका.

आप उस ऑब्जेक्ट को भी पुनर्प्राप्त कर सकते हैं जिसमें चयन शामिल है; जारी रखो ऊपर दिए गए उदाहरण में, चुने गए टेक्स्ट वाली आकृति का पता लगाया जा सकता है. selection.getPageElementRange().getPageElements()[0]. इसी तरह, जिस पेज पर इसमें पास का आकार शामिल है, यानी मौजूदा सक्रिय पेज; से उस पेज को फिर से पाने के लिए, selection.getCurrentPage() का इस्तेमाल करें.

चुने गए सुझाव पढ़े जा रहे हैं

चुने गए को पढ़ने के लिए, Presentation.getSelection() तरीका, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

Slides/selection/selection.gs
const selection = SlidesApp.getActivePresentation().getSelection();

मौजूदा पेज को पढ़ना

उस मौजूदा पेज को वापस पाने के लिए जिसे उपयोगकर्ता को देखा जा रहा है, तो उसका इस्तेमाल करें getSelection() और getCurrentPage() ये तरीके अपनाएं:

Slides/selection/selection.gs
const currentPage = SlidesApp.getActivePresentation().getSelection().getCurrentPage();

ध्यान दें कि मौजूदा पेज इनमें से किसी भी तरह का हो सकता है:

मौजूदा पेज में एक या उससे ज़्यादा ऑब्जेक्ट चुने जा सकते हैं और SelectionType चुनाव का टाइप तय करता है.

चुने गए विकल्प के हिसाब से चुने गए टेक्स्ट को पढ़ना

नीचे दिए गए उदाहरण में, चुने गए टाइप का इस्तेमाल करके, दिया गया है.

Slides/selection/selection.gs
const selection = SlidesApp.getActivePresentation().getSelection();
const selectionType = selection.getSelectionType();
let currentPage;
switch (selectionType) {
  case SlidesApp.SelectionType.NONE:
    console.log('Nothing selected');
    break;
  case SlidesApp.SelectionType.CURRENT_PAGE:
    currentPage = selection.getCurrentPage();
    console.log('Selection is a page with ID: ' + currentPage.getObjectId());
    break;
  case SlidesApp.SelectionType.PAGE_ELEMENT:
    const pageElements = selection.getPageElementRange().getPageElements();
    console.log('There are ' + pageElements.length + ' page elements selected.');
    break;
  case SlidesApp.SelectionType.TEXT:
    const tableCellRange = selection.getTableCellRange();
    if (tableCellRange !== null) {
      const tableCell = tableCellRange.getTableCells()[0];
      console.log('Selected text is in a table at row ' +
        tableCell.getRowIndex() + ', column ' +
        tableCell.getColumnIndex());
    }
    const textRange = selection.getTextRange();
    if (textRange.getStartIndex() === textRange.getEndIndex()) {
      console.log('Text cursor position: ' + textRange.getStartIndex());
    } else {
      console.log('Selection is a text range from: ' + textRange.getStartIndex() + ' to: ' +
        textRange.getEndIndex() + ' is selected');
    }
    break;
  case SlidesApp.SelectionType.TABLE_CELL:
    const tableCells = selection.getTableCellRange().getTableCells();
    const table = tableCells[0].getParentTable();
    console.log('There are ' + tableCells.length + ' table cells selected.');
    break;
  case SlidesApp.SelectionType.PAGE:
    const pages = selection.getPageRange().getPages();
    console.log('There are ' + pages.length + ' pages selected.');
    break;
  default:
    break;
}

चुने गए टेक्स्ट को पढ़ा जा रहा है

टेक्स्ट चुनने के लिए, Selection.getTextRange() तरीका. टेक्स्ट चुनने के दो तरीके हैं:

  • रेंज चुनना: अगर किसी आकार में "नमस्ते" और "He" टेक्स्ट शामिल है इससे मेल खाता है चुना गया है, दिखाई गई श्रेणी में startIndex=0 और endIndex=2 हैं.
  • कर्सर चुनना: अगर किसी आकार में "नमस्ते" टेक्स्ट शामिल है और कर्सर "H" के बाद ("H|ello"), दिखाई गई रेंज इसके साथ खाली रेंज है startIndex=1 और endIndex=1.

चुने गए हिस्से में बदलाव किया जा रहा है

स्क्रिप्ट उपयोगकर्ता के चुने गए विकल्प में बदलाव कर सकती है. स्क्रिप्ट की मदद से प्रज़ेंटेशन में चुने गए आइटम में किए गए बदलाव, स्क्रिप्ट के चलने के दौरान चुने गए आइटम के बाद के ऑपरेशन में दिखते हैं.

चुने गए बदलाव स्क्रिप्ट के बाद ही उपयोगकर्ता के ब्राउज़र पर दिखाई देते हैं एक्ज़ीक्यूशन पूरा होता है या जब Presentation.saveAndClose() को कॉल किया जाता है.

मौजूदा पेज चुनना

मौजूदा प्रज़ेंटेशन में किसी पेज को मौजूदा पेज के तौर पर चुनने के लिए, इस नंबर पर कॉल करें selectAsCurrentPage() तरीका. इस तरीके से, पेज का कोई भी पिछला एलिमेंट, पेज या चुना गया टेक्स्ट हट जाता है. इसलिए, आप इस तरीके से किसी भी मौजूदा पेज से चुने हुए का निशान हटा सकते हैं करें. उदाहरण के लिए:

Slides/selection/selection.gs
// Select the first slide as the current page selection and remove any previous selection.
  const selection = SlidesApp.getActivePresentation().getSelection();
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  slide.selectAsCurrentPage();
// State of selection
//
// selection.getSelectionType() = SlidesApp.SelectionType.CURRENT_PAGE
// selection.getCurrentPage() = slide
//

पेज एलिमेंट चुनना

किसी पेज में मौजूद पेज एलिमेंट को चुनने के लिए, PageElement.select() तरीके का इस्तेमाल करें. इससे, पहले से चुने गए पेज एलिमेंट से भी चुने हुए का निशान हट जाएगा.

उदाहरण के लिए:

Slides/selection/selection.gs
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  const pageElement = slide.getPageElements()[0];
  // Only select this page element and remove any previous selection.
  pageElement.select();
// State of selection
//
// selection.getSelectionType() = SlidesApp.SelectionType.PAGE_ELEMENT
// selection.getCurrentPage() = slide
// selection.getPageElementRange().getPageElements()[0] = pageElement
//

पेज के एक से ज़्यादा एलिमेंट चुनना

अतिरिक्त पेज एलिमेंट को चुने गए टेक्स्ट में जोड़ने के लिए, PageElement.select(false) तरीका. पेज के सभी एलिमेंट, मौजूदा पेज में होने चाहिए.

Slides/selection/selection.gs
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  // First select the slide page, as the current page selection.
  slide.selectAsCurrentPage();
  // Then select all the page elements in the selected slide page.
  const pageElements = slide.getPageElements();
  for (let i = 0; i < pageElements.length; i++) {
    pageElements[i].select(false);
  }
// State of selection
//
// selection.getSelectionType() = SlidesApp.SelectionType.PAGE_ELEMENT
// selection.getCurrentPage() = slide
// selection.getPageElementRange().getPageElements() = pageElements
//

चुनाव में बदलाव किया जा रहा है

आपकी स्क्रिप्ट में किए गए बदलाव, मौजूदा विकल्प को बदल सकते हैं. इससे, बदलाव के नतीजे के तौर पर चुने गए विकल्प बदल जाते हैं. उदाहरण के लिए:

  1. मान लीजिए कि आपने दो आकार A और B चुने हैं.
  2. इसके बाद, आपकी स्क्रिप्ट आकार A को हटा देती है.
  3. इस वजह से, चुने गए बदलाव की तुलना में बदलाव हो जाता है, ताकि सिर्फ़ आकार B चुना गया है.

नीचे दिए गए उदाहरण में दिखाया गया है कि मैन्युअल तरीके से बदलाव करके, चुने गए डाइमेंशन को कैसे बदला जा सकता है चुने गए पेज एलिमेंट.

Slides/selection/selection.gs
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  const shape1 = slide.getPageElements()[0].asShape();
  const shape2 = slide.getPageElements()[1].asShape();
  // Select both the shapes.
  shape1.select();
  shape2.select(false);
  // State of selection
  //
  // selection.getSelectionType() = SlidesApp.SelectionType.PAGE_ELEMENT
  // selection.getCurrentPage() = slide
  // selection.getPageElementRange().getPageElements() = [shape1, shape2]
  //
  // Remove one shape.
  shape2.remove();
// State of selection
//
// selection.getSelectionType() = SlidesApp.SelectionType.PAGE_ELEMENT
// selection.getCurrentPage() = slide
// selection.getPageElementRange().getPageElements() = [shape1]
//

टेक्स्ट चुनना

किसी आकृति या टेबल सेल में मौजूद टेक्स्ट को TextRange.select() तरीका. अगर टेक्स्ट किसी आकार में है, तो वह आकार भी चुना जाता है. अगर टेक्स्ट किसी टेबल सेल में है, तो वह टेबल सेल और बंद होने वाली सेल तालिका दोनों चुनी गई हैं.

इससे पैरंट पेज को भी मौजूदा पेज के तौर पर सेट किया जाता है.

आकृति में रेंज चुनना

नीचे दिए गए उदाहरण में, शामिल टेक्स्ट में रेंज चुनने का तरीका बताया गया है आकार में रखते हैं.

Slides/selection/selection.gs
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  const shape = slide.getPageElements()[0].asShape();
  shape.getText().setText('Hello');
  // Range selection: Select the text range 'He'.
  shape.getText().getRange(0, 2).select();
// State of selection
//
// selection.getSelectionType() = SlidesApp.SelectionType.TEXT
// selection.getCurrentPage() = slide
// selection.getPageElementRange().getPageElements()[0] = shape
// selection.getTextRange().getStartIndex() = 0
// selection.getTextRange().getEndIndex() = 2
//

किसी आकार में कर्सर चुनने की सुविधा

नीचे दिए गए उदाहरण में, किसी आकार में मौजूद टेक्स्ट में कर्सर से टेक्स्ट चुनने का तरीका बताया गया है.

Slides/selection/selection.gs
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  const shape = slide.getPageElements()[0].asShape();
  shape.getText().setText('Hello');
  // Cursor selection: Place the cursor after 'H' like 'H|ello'.
  shape.getText().getRange(1, 1).select();
// State of selection
//
// selection.getSelectionType() = SlidesApp.SelectionType.TEXT
// selection.getCurrentPage() = slide
// selection.getPageElementRange().getPageElements()[0] = shape
// selection.getTextRange().getStartIndex() = 1
// selection.getTextRange().getEndIndex() = 1
//

टेबल सेल में रेंज चुनना

नीचे दिए गए उदाहरण में, शामिल टेक्स्ट में रेंज चुनने का तरीका बताया गया है टेबल सेल में.

Slides/selection/selection.gs
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  const table = slide.getPageElements()[0].asTable();
  const tableCell = table.getCell(0, 1);
  tableCell.getText().setText('Hello');
  // Range selection: Select the text range 'He'.
  tableCell.getText().getRange(0, 2).select();
// State of selection
//
// selection.getSelectionType() = SlidesApp.SelectionType.TEXT
// selection.getCurrentPage() = slide
// selection.getPageElementRange().getPageElements()[0] = table
// selection.getTableCellRange().getTableCells()[0] = tableCell
// selection.getTextRange().getStartIndex() = 0
// selection.getTextRange().getEndIndex() = 2
//

टेबलCell में कर्सर चुनने की सुविधा

नीचे दिए गए उदाहरण में, दिए गए टेक्स्ट में कर्सर को चुनने का तरीका बताया गया है टेबल सेल में.

Slides/selection/selection.gs
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  const table = slide.getPageElements()[0].asTable();
  const tableCell = table.getCell(0, 1);
  tableCell.getText().setText('Hello');
  // Cursor selection: Place the cursor after 'H' like 'H|ello'.
  tableCell.getText().getRange(1, 1).select();
// State of selection
//
// selection.getSelectionType() = SlidesApp.SelectionType.TEXT
// selection.getCurrentPage() = slide
// selection.getPageElementRange().getPageElements()[0] = table
// selection.getTableCellRange().getTableCells()[0] = tableCell
// selection.getTextRange().getStartIndex() = 1
// selection.getTextRange().getEndIndex() = 1
//

टेक्स्ट में बदलाव करके, चुने गए हिस्से में बदलाव करना

नीचे दिए गए उदाहरण में बताया गया है कि चुने गए टेक्स्ट में बदलाव करके, चुने गए टेक्स्ट को कैसे बदला जा सकता है.

Slides/selection/selection.gs
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  const shape = slide.getPageElements()[0].asShape();
  const textRange = shape.getText();
  textRange.setText('World');
  // Select all the text 'World'.
  textRange.select();
  // State of selection
  //
  // selection.getSelectionType() = SlidesApp.SelectionType.TEXT
  // selection.getCurrentPage() = slide
  // selection.getPageElementRange().getPageElements()[0] = shape
  // selection.getTextRange().getStartIndex() = 0
  // selection.getTextRange().getEndIndex() = 6
  //
  // Add some text to the shape, and the selection will be transformed.
  textRange.insertText(0, 'Hello ');

// State of selection
//
// selection.getSelectionType() = SlidesApp.SelectionType.TEXT
// selection.getCurrentPage() = slide
// selection.getPageElementRange().getPageElements()[0] = shape
// selection.getTextRange().getStartIndex() = 0
// selection.getTextRange().getEndIndex() = 12
//

चुने हुए का निशान हटाया जा रहा है

टेक्स्ट या पेज के एलिमेंट से चुने हुए का निशान हटाने के लिए, साफ़ तौर पर कोई तरीका उपलब्ध नहीं है. हालांकि, इस Page.selectAsCurrentPage() का इस्तेमाल करके या pageElement.select() तरीके.

कोई मौजूदा पेज चुनना

यहां दिए गए उदाहरण में, किसी पेज पर चुने गए किसी मौजूदा विकल्प से, चुने हुए का निशान हटाने का तरीका बताया गया है उस पेज को मौजूदा पेज के तौर पर सेट करके.

slides/selection/selection.gs
// Unselect one or more page elements already selected.
//
// In case one or more page elements in the first slide are selected, setting the
// same (or any other) slide page as the current page would do the unselect.
//
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  slide.selectAsCurrentPage();

कोई पेज एलिमेंट चुनें

यहां दिए गए उदाहरण में, किसी पेज पर चुने गए किसी मौजूदा विकल्प से, चुने हुए का निशान हटाने का तरीका बताया गया है एक पेज एलिमेंट को चुनकर, इस विकल्प से अन्य सभी आइटम हटा दिए जाते हैं.

Slides/selection/selection.gs
// Unselect one or more page elements already selected.
//
// In case one or more page elements in the first slide are selected,
// selecting any pageElement in the first slide (or any other pageElement) would
// do the unselect and select that pageElement.
//
  const slide = SlidesApp.getActivePresentation().getSlides()[0];
  slide.getPageElements()[0].select();