Google Apps 脚本:捕获已更新特定列中的字段的登录用户的时间戳/电子邮件



我创建了一个 Google 表格,可以与单位内的多个人员共享。 它不会与公司外部的任何人共享。 在所述电子表格上,当用户选中第 1 列中的框时,我想在第 2 列中放置时间戳,在第 3 列中输入登录用户的电子邮件。

时间戳有效;当我这样做时,电子邮件有效;但它只对我有用。 我已经尝试过,部署为 Web 应用程序(作为访问应用程序的用户执行),部署为 API 可执行文件,都无济于事。

我怀疑这是由于试图从onEdit触发它,因为他们可能认为我试图收获用户不是故意发布给我的东西。 因为我们都在同一家公司,而且这不是恶意的;我想一定有一个解决方案。 一个存储登录用户的函数,另一个在 Edit 上获取此值的函数?

在我粘贴的代码中,我让它检查大于 5 的值,因为我不清楚如何检查复选框=TRUE。

有什么建议吗?

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
var email = Session.getActiveUser().getEmail();
Logger.log(email);
var r = s.getActiveCell();
if( r.getColumn() == 1) { 
if(r.getValue()>5){  
var nextCell = r.offset(0, 2);
nextCell.setValue(new Date());
var emailCell = r.offset(0, 3);
emailCell.setValue(email);}}
}

我希望组织内的任何用户都选中第 1 列中的框,他们选中它的时间出现在第 2 列中;他们的电子邮件地址显示在第 3 列中。

尝试使用可安装的 onEdit 触发器。

最新更新