var txt = app.getElementById('TextBox1');
var btn = app.getElementById('Button1');そして、ServerClickHandlerを作成します。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;
}
| << 前へ |