google-apps-script - Speadsheet.getRangeByName 未定义

根据documentation ,在 Spreadsheet 类中有一个名为 getRangeByName(String) 的函数,但它对我来说似乎是未定义的。

function onEdit(e) {
    if (e) {
        var ss = e.source.getActiveSheet();
        Logger.log(ss.getName);  
        Logger.log(ss.getRange);
        Logger.log(ss.getRangeByName);
    }   
}
// outputs:
//  function getName() {/* */}
//  function getRange() {/* */}
//  undefined

这是因为 event.source.getActiveSheet() 返回了除 Spreadsheet 对象之外的其他东西,这与官方文档(屏幕截图)相矛盾吗?

( https://developers.google.com/apps-script/understanding_events )

如果是这种情况,我如何从事件源获取事件工作表上的名称范围?谢谢。

最佳答案

通过执行 var ss = e.source.getActiveSheet(); 变量 ss 是 Sheet 类型,而不是 Spreadsheet 类型,所以问题来了。方法getRangeByName(name)属于电子表格。

尝试以下操作:

function onEdit(e) {
    if (e) {
        var ss = e.source;
        var s = ss.getActiveSheet();
        Logger.log(s.getName);  
        Logger.log(s.getRange);
        Logger.log(ss.getRangeByName);
    }   
}
//  outputs:
//  function getName() {/* */}
//  function getRange() {/* */}
//  function getRangeByName() {/* */}

https://stackoverflow.com/questions/19482113/

相关文章:

git - 不支持的 Git 版本

git - 将 git 提交与相同的消息结合起来?

regex - 是否可以在正则表达式中对变量值进行数学运算?

assembly - 在轮类除法组装后舍入 Int

git - 将多模块 Maven 项目放入 Jenkins

recursion - 树的路径列表上的 F# 尾递归

c# - .NET 中 SafeBuffer 和 SafeHandleZeroOrMinusOneI

plot - 删除 gnuplot 自动标题键标签中的文件路径,只留下文件名

intel - tboot 的文档?

sql - 留在Access中的 "SQL Mode"?