1 回答
TA贡献1828条经验 获得超13个赞
解释:
您可以创建一个包含电子邮件和姓名缩写之间映射的 json 对象:
const initials = {
"email1":"initials1",
"email2":"initials2",
"email3":"initials3"
};
然后得到这样的缩写:
e.range.offset(0,6).setValue(initials[Session.getEffectiveUser().getEmail()]);
解决方案:
function onEdit(e) {
const initials = {
"email1":"initials1",
"email2":"initials2",
"email3":"initials3"
};
var sheet = e.source.getActiveSheet();
var i = ['Sheet 1', 'Sheet 2'].indexOf(sheet.getName());
if (e.range.getValue()!='' && i > -1 && e.range.columnStart === 1) {
e.range.offset(0,4).setValue(Utilities.formatDate(new Date(), "GMT+8", "MM/dd/yyyy"));
e.range.offset(0,6).setValue(initials[Session.getEffectiveUser().getEmail()]);
}
}
附注:
确实Session.getEffectiveUser().getUsername()似乎不支持V8,但如果它适合您(您Rhino可能使用),那么使用我的解决方案并替换Session.getEffectiveUser().getEmail()为Session.getEffectiveUser().getUsername(). 我的答案的要点是使用 json 对象来进行映射。还可以尝试与简单触发器Session.getActiveUser()等效的操作。Session.getEffectiveUser()
添加回答
举报