我试图在GAS中编写一个脚本来从我使用Ui Service创建的表单中写入数据,但它不起作用。
表单显示正常,但保存电子表格中数据的功能不起作用:
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()
}
如何让表单在电子表格中写入数据?
答案 0 :(得分:0)
如果您在GUI中使用FormPanel和Submit按钮,则可以使用名为doPost(e)的预定义函数,其中e var将包含所有FormPanel值。 对于每个输入字段,还在GUI Builder中设置Name参数,以便您可以按名称引用它们。这是代码:
function doPost(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var txt1 = e.parameter.TextBox1Name;
var txt2 = e.parameter.TextBox2Name;
ss.getActiveSheet().appendRow([txt1,txt2]);
}
对于我从代码中可以看到的内容,您只需要添加一行,而不是查看最后一行,您可以像我一样使用appendRow函数。