【问题标题】:Is it possible to get the range coordinates of an event object?是否可以获取事件对象的范围坐标?
【发布时间】:2020-09-17 20:53:25
【问题描述】:

我正在使用 GAS 开发 Google 电子表格插件。 我想添加根据它设置 A1 符号和 Addon 过滤器 onEdit 事件的功能。

例如,当您将 A2 设置为插件时, onEdit 事件仅在 A1 被编辑时触发。

我想将 A1 表示法转换为 Range 对象。 比如我想将 A2 转换为 { columnEnd: 1, columnStart: 1, rowEnd: 2, rowStart: 2 }。

我认为可以使用getRange()方法,但是效果不好。

你知道什么好的方法吗?

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    根据 Op 的评论更新:

    当 onEdit 事件触发时,我可以捕获事件的范围信息 目的。它包含4个信息(columnEnd、columnStart、rowEnd、rowStart)。

    function onEdit(e) {
       const actR = e.range;
    
       const actR_cords = {
          columnEnd: actR.getWidth()+actR.getColumn()-1,
          columnStart: actR.getColumn(),
          rowEnd: actR.getHeight()+actR.getRow()-1,
          rowStart: actR.getRow()
    }   
    }
    

    参考资料:

    【讨论】:

    • 感谢您的评论。当 onEdit 事件触发时,我可以捕获事件对象的范围信息。它包含 4 个信息(columnEnd、columnStart、rowEnd、rowStart)。所以我认为我可以从 A1 符号中获得 4 个信息。难吗??
    • 为什么需要4个信息?您可以定义一个只有两个坐标的单元格:行、列。然后你可以做getRange(2,1)
    • 还有一个模式,我想转换关于范围的 A1 表示法。例如,A1:A10 等...
    • 好的..所以你想找到A1:A10的坐标?
    • @Jamm 我更新了我的答案。现在它给出了您在问题中定义的坐标:{ columnEnd: 1, columnStart: 1, rowEnd: 2, rowStart: 2 }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多