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()

返回所选的 TextRange,如果所选项的类型不是 SelectionType.TEXT,则返回 null

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