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 に答える