所选内容是指打开的演示文稿页面中当前选中的任何内容,例如突出显示的一段文本或表格。本指南介绍了如何使用 Apps Script 获取和设置有效演示文稿中的选择。
所选内容是脚本启动时情况的快照。如果用户在脚本运行期间点击并更改了选择,这些更改不会反映出来。
选择和选择类型
您可以使用 选择 类。该类具有各种方法来根据 所选对象的类型。
SelectionType 枚举
表示所选对象的具体类型。例如,如果用户有
选中了形状中的部分文字,则选择类型会
为 TEXT。在这种情况下,您可以使用
selection.getTextRange()
方法结合使用。
您还可以检索包含所选内容的对象;继续介绍
您可以检索包含所选文本的形状,只需使用
selection.getPageElementRange().getPageElements()[0]
。同样,
包含外围形状的是当前活动页面;更改为
检索该页面,请使用 selection.getCurrentPage()
。
朗读所选内容
要读取所选内容,请使用 Presentation.getSelection() 方法,如下例所示:
正在朗读当前网页
要检索当前使用的网页, 使用 getSelection() 和 getCurrentPage() 方法:
请注意,当前页面可以是以下任意一种:
您可以选择当前页面中的一个或多个对象,并选择 SelectionType 决定了选择类型
根据选择类型读取选择
以下示例展示了如何使用选择类型来读取 以适当的方式显示当前选择。
朗读所选文本
您可以使用 Selection.getTextRange() 方法。 文本选择有两种类型:
- 范围选择:如果形状包含文本“Hello”和“He”为 已选择,返回的范围的 startIndex=0 和 endIndex=2。
- 光标选择:如果形状包含“Hello”文本,并且光标处于 “H”之后("H|ello"),返回的范围是空范围, startIndex=1 和 endIndex=1。
修改所选内容
脚本可以修改用户的选择。 脚本对演示文稿所做的任何更改都会反映出来 。
执行完脚本之后,选择更改才会反映在用户的浏览器中
执行完成,或者在调用 Presentation.saveAndClose()
时执行。
选择当前页面
您可以通过调用 selectAsCurrentPage() 方法,将有效演示中的页面选为当前页面。此方法会移除之前的所有页面元素、页面或所选文字。因此使用 通过该方法可在当前页面上取消选择 页面。例如:
选择页面元素
如需选择网页中的网页元素,请使用 PageElement.select() 方法。 这也会取消选择之前选择的所有网页元素。
例如:
选择多个页面元素
要将其他页面元素附加到所选内容,请使用 PageElement.select(false) 方法为默认项。 所有页面元素都必须位于当前页面中。
转换所选内容
您的脚本执行的修改可以转换当前选择,以便实现以下目的: 更改会导致所选内容发生变化 例如:
- 假设您选择了两个形状 A 和 B。
- 接下来,您的脚本将移除形状 A。
- 因此,所选内容会根据修改内容进行转换, 形状 B 处于选中状态。
下例显示了如何通过 选定的页面元素。
选择文字
形状或表格单元格中包含的文本可以使用 TextRange.select() 方法。 如果文本包含在形状中,则该形状也会被选中。 如果文本包含在表格单元格中,则该表格单元格及其外围单元格 都已选择
此操作也会将父页面设置为当前页面。
形状中的范围选择
以下示例展示了如何在包含的文本内进行范围选择 。
形状中的光标选择
以下示例展示了如何在包含的文本内进行光标选择 。
表格单元格中的范围选择
以下示例展示了如何在包含的文本内进行范围选择 。
在 TableCell 中选中光标
以下示例展示了如何在包含的文本内进行光标选择 。
通过文本编辑实现选择转换
以下示例展示了如何通过修改 所选文字。
取消选择
没有明确的方法来取消选择文本或页面元素。不过,
可以使用 Page.selectAsCurrentPage()
或
pageElement.select()
方法。
选择当前网页
以下示例展示了如何取消选择页面上当前的所有选择 只需将该页面设为当前页面即可
选择页面元素
以下示例展示了如何通过选择一个页面元素来取消选择页面上的所有当前选择,从而从选择中移除所有其他项。