0
有没有办法让onEdit函数获取编辑器名称,并在A2更改时将其写入B2?在Google电子表格中获取编辑器名称并将其写入单元格
https://docs.google.com/spreadsheets/d/1hYp2KAZSlRN2HNUWvyHAkc35mJtDPBSVipl4PtrSIJw/edit?usp=sharing
(例如,我的谷歌帐户的名称是“托马斯G.”,所以这应该被写入B2) 可能吗?
有没有办法让onEdit函数获取编辑器名称,并在A2更改时将其写入B2?在Google电子表格中获取编辑器名称并将其写入单元格
https://docs.google.com/spreadsheets/d/1hYp2KAZSlRN2HNUWvyHAkc35mJtDPBSVipl4PtrSIJw/edit?usp=sharing
(例如,我的谷歌帐户的名称是“托马斯G.”,所以这应该被写入B2) 可能吗?
重要的警告:下面的代码将一般工作只有在脚本和访问表的用户的所有者/出版商属于同谷歌Apps域。它不适用于非应用程序用户。
您可以在您的工作表以下onEdit()方法做到这一点:
function onEdit(e) {
var editedRange = e.range;
if (editedRange.getColumn()==1) { // if column A was edited
var u = Session.getActiveUser().getEmail();
editedRange.offset(0, 1).setValue(u); // write user's email to corresponding row in column B
}
};
注:这将要求用户授权脚本对他们的数据访问的谷歌(要知道用户的电子邮件)。
刚刚在我的链接文档中试过这个,没有任何反应,但是......它对你有用吗?此外,我想收到的名称,而不是电子邮件,如果可能的话... – TobiasH 2014-09-29 01:24:49
@TobiasH我编辑了我的答案,因为显然,e.user没有默认填充,并且不会触发用户的正确授权。改为使用会话服务代码。你使用了更新的代码吗? – azawaza 2014-09-29 01:27:28
嗯进一步的测试表明,它仍然不会触发非所有者帐户的适当授权。让我修补一下更多... – azawaza 2014-09-29 01:40:36