【问题标题】:Set note from custom function从自定义函数设置注释
【发布时间】:2014-03-24 13:37:12
【问题描述】:


我正在努力解决以下问题:
我有一个电子表格负责跟踪我的股票市场投资。它调用外部服务以获取具有当前价格的 CSV。

因此,有一个函数customFunction() 调用UrlFetchApp 并返回项目的当前价格。我希望它向调用它的单元格添加一条注释,其中包含当前日期时间。像这样:

function customFunction() {
  //get price from csv
  var url = "http://sth.com";
  var csv = UrlFetchApp.fetch(url);
  var result = Utilities.parseCsv(csv);
  var currentValue = parseFloat(result[1][6]);

  //set note
  SpreadsheetApp.getActiveSheet().getActiveCell().setNote("Hey, I'm the note with the datetime");

  //return value so it can be set as cell value
  return currentValue;
}

我正在从单元格 E21 调用此函数(值 =customFunction())。 所以一切都按计划进行,除了应该设置注释的行。我确信我得到了正确的单元格(通过返回 A1notation 作为值进行测试)。我得到了错误:

error: You do not have permission to call setNote

有人知道是否可以为从该函数调用自定义函数的单元格设置注释?或者您可能对解决方法有任何想法,例如捕捉函数重新加载新数据的时刻并将其用作触发器?

【问题讨论】:

    标签: javascript google-apps-script google-sheets google-apps custom-function


    【解决方案1】:

    您的问题是由于权限限制:https://developers.google.com/apps-script/execution_custom_functions#permissions
    函数 SpreadsheetApp.getActiveSheet().getActiveCell() 不是匿名的,不能在这里使用。 不幸的是,我不知道任何有效的解决方法

    【讨论】:

    • 其实问题出在setNote。来自答案“电子表格:只读(可以使用大多数 get*() 方法,但不能使用 set*())”中的链接。
    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多