0

最も単純な Google Apps スクリプトでさえ実行に問題があります。たとえば、スプレッドシートのセルを設定してこのスクリプトを実行すると、次の=pantsHate(Y)エラーが発生します。

エラー: msgBox を呼び出す権限がありません

function pantsHate(pref) {

var preference = pref;

switch (preference) {

 case "Y":
  Browser.msgBox("You hate pants.");
  break;
 case "N":
  Browser.msgBox("You do not hate pants.");
  break;
 default:
  Browser.msgBox("You hate answering Y or N");
  break;
 }

return pref;

}

私の最終目標は、日付を操作する小さな関数を作成することです。具体的には、2 つの日付の間に何日経過したかを正確に調べる必要があります (うるう年、特定の日/月などはすべて要因です)。このプログラムは単なるテストでしたが、私はすでに何か間違ったことをしているようです...どんな助けも大歓迎です!

更新: 新しいプロジェクトでこれを試したところ、うまくいきました... arg!
更新 2: でもう一度実行する=pantsHate("Y")と、この「新しい」プロジェクトで同じエラーが発生しました... なぜ Google、なぜ?

4

1 に答える 1

3

カスタム関数は、連続するセルに影響を与える可能性のある配列を返さない限り、値をセルに返すだけです。

カスタム関数はメッセージ ボックス (Browser.msgbox()) を開始できません

カスタム関数は、スクリプト エディタから関数を呼び出すスプレッドシート セルの数式の全部または一部として入力される関数です。あなたが述べるとき:

たとえば、スプレッドシートのセルを =pantsHate(Y) に設定してこのスクリプトを実行すると、次のエラーが発生します。

=pantsheet(Y) はカスタム関数です。これは、スプレッドシートの数式から呼び出しており、Browser.msgbox() を開始できないためです。

于 2012-05-08T21:21:00.150 に答える