var txt = app.getElementById('TextBox1');そして、ServerClickHandlerを作成します。
var btn = app.getElementById('Button1');
var clickhander = app.createServerClickHandler("onbtnclick");続いて、ServerClickHandlerにCallbackElementとしてTextBox1を組み込みます。
clickhander.addCallbackElement(txt);そして、Button1のクリックハンドラにServerClickHandlerを設定します。
btn.addClickHandler(clickhander);後はGUIをUiAppに追加して表示するだけです。ボタンクリックの処理は、onbtnclickに用意しておきます。見ればわかるように、
var str = e.parameter.TextBox1;このようにしてちゃんとTextBox1の値が取り出せます。これでようやくGUIビルダーが実用になりますね。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
function showGui(){ var sheet = SpreadsheetApp.getActiveSpreadsheet(); var app = UiApp.createApplication(); // GUIをロードし、ボタンクリックのイベントを設定する var gui = app.loadComponent("MyGui"); var txt = app.getElementById('TextBox1'); var btn = app.getElementById('Button1'); var clickhander = app.createServerClickHandler("onbtnclick"); clickhander.addCallbackElement(txt); btn.addClickHandler(clickhander); // GUIを追加して表示する app.add(gui); sheet.show(app); } function onbtnclick(e){ Logger.log(e); var str = e.parameter.TextBox1; var app = UiApp.getActiveApplication(); var l1 = app.getElementById("Label1"); l1.setText("you typed: " + str); return app; }
<< 前へ |