Google 表格网络应用程序 - 在 doGet() 函数内执行函数
Google Sheets web app - Function execution inside a doGet() function
我编写了一个函数 FillMissingEvents(),它基本上编辑了我使用 Google Sheets 网络应用程序构建的数据记录器最后一行的缺失数据。
手动调用函数时效果很好。
是否可以在每次执行 doGet() 后自动执行我的函数?
除了:FillMissingEvents();,我找不到其他方法来调用它。
日志记录功能在 doGet() 中是否也有效?无法使其工作。
谢谢!
function FillMissingEvents(){
Logger.log("Execution started");
var ss = SpreadsheetApp.getActiveSpreadsheet();
//give your sheet name below instead of Sheet1
var sheet = ss.getSheetByName("Sheet1");
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var lastcolumn = datarange.getLastColumn();
for (i=1;i<=lastcolumn;i++) {
var testvalue = sheet.getRange(lastrow, i).getValue();
if (typeof testvalue == 'string' && testvalue=="")
{
var newvalue = sheet.getRange(lastrow - 1, i).getValue();
sheet.getRange(lastrow, i).setValue(newvalue);
}
}
}
function doGet(request) {
if(request != null) {
//******* CODE
}
FillMissingEvents();
}
编辑:我在不增加版本的情况下发布 Web 应用程序。现在完美了!谢谢!
来自评论的回答:
我在发布 Web 应用程序时没有增加版本。
我编写了一个函数 FillMissingEvents(),它基本上编辑了我使用 Google Sheets 网络应用程序构建的数据记录器最后一行的缺失数据。
手动调用函数时效果很好。
是否可以在每次执行 doGet() 后自动执行我的函数?
除了:FillMissingEvents();,我找不到其他方法来调用它。
日志记录功能在 doGet() 中是否也有效?无法使其工作。
谢谢!
function FillMissingEvents(){
Logger.log("Execution started");
var ss = SpreadsheetApp.getActiveSpreadsheet();
//give your sheet name below instead of Sheet1
var sheet = ss.getSheetByName("Sheet1");
var datarange = sheet.getDataRange();
var lastrow = datarange.getLastRow();
var lastcolumn = datarange.getLastColumn();
for (i=1;i<=lastcolumn;i++) {
var testvalue = sheet.getRange(lastrow, i).getValue();
if (typeof testvalue == 'string' && testvalue=="")
{
var newvalue = sheet.getRange(lastrow - 1, i).getValue();
sheet.getRange(lastrow, i).setValue(newvalue);
}
}
}
function doGet(request) {
if(request != null) {
//******* CODE
}
FillMissingEvents();
}
编辑:我在不增加版本的情况下发布 Web 应用程序。现在完美了!谢谢!
来自评论的回答:
我在发布 Web 应用程序时没有增加版本。