【问题标题】:Google Slides Elements Selection Order Issue谷歌幻灯片元素选择顺序问题
【发布时间】:2020-06-20 08:28:44
【问题描述】:

我试图使用 Apps 脚本从用户在 Google 幻灯片中的当前选择中获取选定的形状。返回的形状并不总是符合用户的选择顺序。

示例:假设幻灯片上有 4 个形状,#1、#2、#3、#4。如果我在幻灯片上一一选择#4、#2、#3、#1,返回结果应该匹配[shape#4, shape#2, shpae#3, shape#1]。但是,我发现有时返回结果是一团糟,并不能反映我选择的实际顺序。不确定这是错误还是什么。

这是我的代码,用于获取所选形状以将它们放入列表中。

function getSelectedShapes(){
    let shapes = []
    let selections = SlidesApp.getActivePresentation().getSelection()
    let pageElementRange = selections.getPageElementRange()
    if (pageElementRange){
        let elements = pageElementRange.getPageElements()
        shapes = elements.map(element=>element.asShape())
    }
    return shapes
}

【问题讨论】:

  • 我可以确认您的问题。我不确定这是错误还是谷歌方面的当前规范。那么如何向 Google 问题跟踪器报告此问题? Ref 虽然我在 Google 问题跟踪器上搜索过相同的问题,但我找不到它。因此,作为当前的答案,当在 Google 幻灯片上选择多个对象时,getSelection().getPageElementRange().getPageElements() 检索到的元素顺序与错误或当前规范的选择顺序不同。对此我深表歉意。
  • @Tanaike 我们可以说我的这个问题stackoverflow.com/questions/63172078/… 也是 getPageElements() 中的一个选择错误?正确吗?
  • @Puzzled Boy 我看到了the question。我认为是的。在现阶段,这个bug似乎还没有解决。这样,在您的情况下,无法检索到第一个选择的图像。我认为这是您当前问题的原因。

标签: google-apps-script google-slides


【解决方案1】:

正如@Tanaike 所述,getPageElements 方法返回页面上呈现的元素和形状,没有特定的顺序,因此您将无法以任何特定的顺序检索它们。

正如@Tanaike 所提到的,您可以创建feature request,要求按照您的选择顺序获取这些元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    相关资源
    最近更新 更多