0

できればちょっとした健康チェックをお願いします。

Google スプレッドシート上に表示された HtmlOutput ウィンドウの Javascript コードは、変数を変更し、最初に HtmlOutput を作成した gs コードのメソッドを呼び出すことができますか?

次のように作成されたフローティング フォームを含む Google スプレッドシートがあります。

someCode.gs

var theForm;
var theSpreadsheet;
function makeForm() {
    :
  theForm = HtmlService.createTemplateFromFile('aForm').evaluate();
  theSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();    
  theSpreadsheet.show(theForm);
    :
}

function recordTheForm(jsonFormData) {
    :
  theForm.clear();
    :
}

「aForm.html」の HTML のボタンに添付されたファイル「someCode.gs」への関数コールバックがあります。

aForm.html

  :
google.script.run.recordTheForm(jsonTheForm);
  :

someCode.gs からインスタンス化されたとしても、recordTheForm() の呼び出し元は、元のメモリ空間の内容を知ることができないというのは正しいでしょうか?

とにかくそれを取得することはありますか?「コンテキスト」を前後に渡すなど?

4

1 に答える 1

0

GAS の変数:

ブラウザのボタン クリックやその他のブラウザ イベントによって、GAS が呼び出されます。ブラウザーから GAS を呼び出すたびに、GAS コードが再実行され、すべての変数が再初期化されます。これはグローバル変数の問題です。グローバル変数は、ブラウザから GAS コードに戻すか、データベースまたはスクリプト プロパティから再ロードする必要があります。

于 2012-10-07T01:21:30.387 に答える