因此,我正在使用Google表格,并且具有Activecampaign集成,当新用户订阅时,该集成会添加新行。我想用用户信息添加当前日期-这样我就可以知道人们何时进入我的列表。
我有4个标签。我今天想要的那个叫做“ leadData”。
我尝试了这段代码,但是没有用:
function onChange(e) {
var sheet = e.source.getSheetByName("leadData")
columnToWatch = 1,
columnToStamp = 7, //change all of these to your needs...1 is column A, 2 is column B, etc
excluded = ["General Info", "Campaigns", "Automations"]; //add names of sheets/tabs to this list. The script will not work on these sheets.
if (e.range.columnStart !== columnToWatch || !e.value || excluded.indexOf(sheet.getName()) > -1) return;
sheet.getRange(e.range.rowStart, columnToStamp)
.setValue(new Date()).setNumberFormat("MM/dd HH:mm");
}
有人知道我该怎么解决吗?
答案 0 :(得分:0)
source
和range
字段不是onChange
触发器的事件对象的一部分。您必须直接指定所需的工作表和行。
根据event objects上的文档,Google表格onChange()
触发器是可安装的触发器,并且在事件对象中没有source
或range
字段,它通过了。
您需要直接指定工作表。更改以下行
var sheet = e.source.getSheetByName("leadData");
收件人:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("leadData");
并更改
sheet.getRange(e.range.rowStart, columnToStamp)
.setValue(new Date()).setNumberFormat("MM/dd HH:mm");
到
sheet.getRange(sheet.getDataRange().getNumRows(), columnToStamp)
.setValue(new Date()).setNumberFormat("MM/dd HH:mm");
我希望这对您有帮助!