2


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

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

4

1 回答 1

0

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

于 2014-03-25T08:10:32.553 回答