Class Selection

選取

使用者在有效簡報中的選取項目。

const selection = SlidesApp.getActivePresentation().getSelection();
const currentPage = selection.getCurrentPage();
const selectionType = selection.getSelectionType();

方法

方法傳回類型簡短說明
getCurrentPage()Page傳回目前有效的 Page,如果沒有有效的頁面,則傳回 null
getPageElementRange()PageElementRange傳回已選取的 PageElement 例項的 PageElementRange 集合,如果未選取任何 PageElement 例項,則傳回 null
getPageRange()PageRange傳回 PageRange,也就是所選取的膠片條中 Page 例項的集合,如果所選項目不是 SelectionType.PAGE 類型,則傳回 null
getSelectionType()SelectionType傳回 SelectionType
getTableCellRange()TableCellRange傳回所選 TableCell 例項的 TableCellRange 集合,如果未選取任何 TableCell 例項,則傳回 null
getTextRange()TextRange傳回所選取的 TextRange,如果所選取的項目不是 SelectionType.TEXT 類型,則傳回 null

內容詳盡的說明文件

getCurrentPage()

傳回目前有效的 Page,如果沒有有效的頁面,則傳回 null

const selection = SlidesApp.getActivePresentation().getSelection();
const currentPage = selection.getCurrentPage();
if (currentPage != null) {
  Logger.log(`Selected current active page ID: ${currentPage.getObjectId()}`);
}

回攻員

Page

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getPageElementRange()

傳回已選取的 PageElement 例項的 PageElementRange 集合,如果未選取任何 PageElement 例項,則傳回 null

const selection = SlidesApp.getActivePresentation().getSelection();
const selectionType = selection.getSelectionType();
if (selectionType === SlidesApp.SelectionType.PAGE_ELEMENT) {
  const currentPage = selection.getCurrentPage();
  const pageElements = selection.getPageElementRange().getPageElements();
  Logger.log(`Number of page elements selected: ${pageElements.length}`);
}

回攻員

PageElementRange

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getPageRange()

傳回 PageRange,也就是所選取的膠卷片段中的 Page 例項集合,如果所選項目不是 SelectionType.PAGE 類型,則傳回 null

const selection = SlidesApp.getActivePresentation().getSelection();
const selectionType = selection.getSelectionType();
if (selectionType === SlidesApp.SelectionType.PAGE) {
  const pageRange = selection.getPageRange();
  Logger.log(
      `Number of pages in the flimstrip selected: ${
          pageRange.getPages().length}`,
  );
}

回攻員

PageRange

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getSelectionType()

傳回 SelectionType

const selection = SlidesApp.getActivePresentation().getSelection();
const selectionType = selection.getSelectionType();
if (selectionType === SlidesApp.SelectionType.CURRENT_PAGE) {
  const currentPage = selection.getCurrentPage();
  Logger.log(`Selected current active page ID: ${currentPage.getObjectId()}`);
}

回攻員

SelectionType

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getTableCellRange()

傳回所選 TableCell 例項的 TableCellRange 集合,如果未選取任何 TableCell 例項,則傳回 null

const selection = SlidesApp.getActivePresentation().getSelection();
const selectionType = selection.getSelectionType();
if (selectionType === SlidesApp.SelectionType.TABLE_CELL) {
  const currentPage = selection.getCurrentPage();
  const tableCells = selection.getTableCellRange().getTableCells();
  const table = tableCells[0].getParentTable();
  Logger.log(`Number of table cells selected: ${tableCells.length}`);
}

回攻員

TableCellRange

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations

getTextRange()

如果所選項目不是 SelectionType.TEXT 類型,則會傳回所選取的 TextRangenull

TextRange 代表兩種情況:

1. 所選取的文字範圍。舉例來說,如果形狀包含文字「Hello」,且選取「He」,則傳回的範圍會是 TextRange.getStartIndex() = 0,而 TextRange.getEndIndex() = 2。

2. 游標位置。舉例來說,如果圖形含有「Hello」文字,且游標位於「H」之後 ("H|ello"),則傳回的範圍會包含 TextRange.getStartIndex() = 1 和 TextRange.getEndIndex() = 1。

const selection = SlidesApp.getActivePresentation().getSelection();
const selectionType = selection.getSelectionType();
if (selectionType === SlidesApp.SelectionType.TEXT) {
  const currentPage = selection.getCurrentPage();
  const pageElement = selection.getPageElementRange().getPageElements()[0];
  const textRange = selection.getTextRange();
  Logger.log(`Text selected: ${textRange.asString()}`);
}

回攻員

TextRange

授權

使用這個方法的腳本需要具備下列一或多個範圍的授權:

  • https://www.googleapis.com/auth/presentations.currentonly
  • https://www.googleapis.com/auth/presentations