私の場合はこれです。[googlescriptドキュメントへのリンク][1]に投稿されたサンプルスクリプトを初めて使用したときに、GUIBuilderで作成されたフォームから取得したデータまたは値を保存しようとしています。
それはうまくいき、フォームに入力された値を取ることができましたが、より多くのテキストフィールドなどが必要なため、GUIビルダーを使用することにしたとき、それは機能しなくなります。ボタンをクリックするたびに、スプレッドシートは「未定義」の値。
すべてのIDを確認しましたが、すべてスクリプトとまったく同じです。
コード:
_guardar:この関数は、テキストフィールド値をスプレッドシートに挿入します。celdaは英語でセルを意味しますultimaFilaはlastRowを意味します
function doGet(e) {
var doc = SpreadsheetApp.openById('0Au-gVDPWE5-bdDhJQzc2N2U4Q2l3LVY2cWpkbHdXMVE');
var app = UiApp.createApplication();
app.add(app.loadComponent("MyForm"));
return app;
}
function _guardar(e){
var app = UiApp.getActiveApplication();
var doc = SpreadsheetApp.openById('0Au-gVDPWE5-bdDhJQzc2N2U4Q2l3LVY2cWpkbHdXMVE');
var ultimaFila = doc.getLastRow();
var celda = doc.getRange('a1').offset(ultimaFila, 0);
celda.setValue(e.parameter.nombre);
celda.offset(0, 1).setValue(e.parameter.empresa);
celda.offset(0, 2).setValue(e.parameter.nit);
celda.offset(0, 3).setValue(e.parameter.sector);
celda.offset(0, 4).setValue(e.parameter.telefono);
celda.offset(0, 5).setValue(e.parameter.email);
celda.offset(0, 6).setValue(e.parameter.web);
celda.offset(0, 7).setValue(e.parameter.descripcion);
app.close();
return app;
}
これは、Googleドキュメントサイトのサンプルコードに似ています。![ここに画像の説明を入力してください] [2]
また、「OnClick」イベントが「_enviar」関数に設定されていることを確認しました。
すべてのテキストボックスとラベルは、ボタンを含め、絶対パネルに含まれています。