
Google Apps Script にて簡易フォームを作成しています。
画面遷移を必要とするため、google フォーム等ではなくスプレッドシート上にパネル表示にて実装しているとことです。
その中で、変数の扱いでお尋ねさせてください。
グローバル変数として宣言しているはずなのですが、イベントメソッドが実行されたところでリセット(?)されてしまっているようです。
下記の変数xを、更新しながら画面遷移していきたいのですが、イベントメソッドが実行された時点で、毎回初期値に戻ってしまいます。
コードのアウトラインを下記に記させていただきます。
main()で xの内容として「0」が表示されるところまでは良いのですが、
main2()で 「1」が表示されてほしいところ、「0」と表示されてしまいます。
変数xの宣言の仕方が悪いのか、参照の仕方が悪いのか、あるいは他の不十分な箇所があるのか、ご教示頂けますでしょうか。
よろしくお願いいたします。
var x = 0;
function main(){
var app = UiApp.createApplication().setTitle('表示パネル');
app.add(app.createLabel(x);
var pnl = app.createVerticalPanel();
var btn = app.createButton('OK', app.createServerHandler('onOkClick').addCallbackElement(pnl));
pnl.add(btn);
app.add(pnl);
SpreadsheetApp.getActiveSpreadsheet().show(app);
}
function main2(){
var app = UiApp.createApplication().setTitle('表示パネル');
app.add(app.createLabel(x);
var pnl = app.createVerticalPanel();
var btn = app.createButton('OK', app.createServerHandler('onOkClick').addCallbackElement(pnl));
pnl.add(btn);
app.add(pnl);
SpreadsheetApp.getActiveSpreadsheet().show(app);
}
function onOkClick(e){
x=x+1;
main2();
}
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
Google Apps Scriptはわからないので、内容に関してはさっぱりですが・・・
スクリプトのエラーが出たり、関数が最後まで実行されていないということはないでしょうか?
ざっと見たところ、「(」と「)」の数が違うようですが、文法的にあってますか?
>app.add(app.createLabel(x);
あたりが怪しそうに思いますけれど・・・?
ありがとうございます。
そうですね、ここの質問で投稿する時に記載ミスしてしまいました。
実際のコード、プログラム上は(少なくとも当該部分の)構文ミスはありません。
質問文で記載しているような画面遷移自体は実現しているので、
プログラムは何週か回せているのは間違いなさそうです。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASP.NETのコントロールの値をJa...
-
Ajaxでタイムアウトしてしまう
-
C#OpenCv V4にのエラーに関する...
-
Google AJAX Feed API
-
html javascript リンク先アド...
-
gas スプレッドシートがアクテ...
-
【javascript】正規表現で括弧...
-
JavaScriptで複数のCSVを取得し...
-
setTimeoutによる繰り返しが途...
-
jQuery UIでドラッグ制限
-
C# 演算 奇数と偶数 表現の仕方
-
IEでF12を押さないとjavascriptが…
-
C#で、ContextMenuStripに動的...
-
google apps scriptの終了のさせ方
-
プログラミングのペーパーテス...
-
RadioButtonListの表示制御
-
functionから別のfunctionを実...
-
ActiveXobjectが作成できない
-
正規表現で半角数字1桁のみを全...
-
<a>タグのテキストを取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#OpenCv V4にのエラーに関する...
-
C#で、ContextMenuStripに動的...
-
食材の期限を管理するためにGAS...
-
javaScriptのコードの修正をお...
-
メールフォームの日付入力フォ...
-
GASでundefinedエラーが出ます
-
var exports = exports || {}; ...
-
google apps scriptの終了のさせ方
-
JavaScriptでテーブル内?に矢...
-
ジェネレーターの作り方
-
HTMLで作った時報アプリが動き...
-
gas スプレッドシートがアクテ...
-
ASP.NET MVCでObjectをjsに渡す
-
setTimeoutによる繰り返しが途...
-
イラレでナンバリングする方法
-
定積分の近似値を計算する関数c...
-
pdfに丸秘などのスタンプを...
-
【JavaScript】数当てゲームを...
-
シンプルなweb版スタンプラリー...
-
翌月を取得するGASが分かりません
おすすめ情報