从自定义功能设置备注

时间:2014-03-24 13:37:13

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


我正在努力解决以下问题:
我有一个电子表格负责跟踪我的股票市场投资。它调用外部服务来获取当前价格的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

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

1 个答案:

答案 0 :(得分:0)

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