0

Ui サービスを使用して作成したフォームからデータを書き込むために、GAS でスクリプトを実行しようとしていますが、機能しません。

フォームは正常に表示されますが、データをスプレッドシートに保存する関数は機能しません。

function SalvaRegistro(e) {
var app=UiApp.getActiveApplication();
var DataValue=e.parameter.Data;
var TicketIDValue=e.value.TicketID;
var TicketTypeValue=e.value.TicketType;
var DemandedByValue=e.value.DemandedBy;
var AnalystValue=e.value.Analyst;
var StatusValue=e.value.Status;
var DescriptionValue=e.value.Description;
var TicketIDValue=e.value.TicketID;

sheet=SpreadsheetApp.getActiveSheet();
var lastRow = sheet.getLastRow();
sheet.getRange(lastRow, getColIndexByName("Data")).setValue(DataValue);
sheet.getRange(lastRow, getColIndexByName("Ticket ID")).setValue(TicketIDValue);
sheet.getRange(lastRow, getColIndexByName("Ticket Type")).setValue(TicketTypeValue);
sheet.getRange(lastRow, getColIndexByName("Demandado por")).setValue(DemandedByValue);
sheet.getRange(lastRow, getColIndexByName("Analista")).setValue(AnalystValue);
sheet.getRange(lastRow, getColIndexByName("Status")).setValue(StatusValue);
sheet.getRange(lastRow, getColIndexByName("Descrição")).setValue(DescriptionValue);
return app.close()
                  }

フォームにスプレッドシートにデータを書き込むにはどうすればよいですか?

4

1 に答える 1

0

GUI 内で FormPanel と [Submit] ボタンを使用している場合は、doPost(e) という定義済みの関数を使用するだけで、e var にすべての FormPanel 値が含まれます。入力フィールドごとに、名前で参照できるように、GUI ビルダーで Name パラメータも設定します。コードは次のとおりです。

function doPost(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var txt1 = e.parameter.TextBox1Name;
  var txt2 = e.parameter.TextBox2Name;
  ss.getActiveSheet().appendRow([txt1,txt2]);
}

あなたのコードからわかることは、行を追加するだけでよいので、最後の行を見る代わりに、私が行ったように appendRow 関数を使用するだけです。

于 2012-12-18T16:35:02.723 に答える