Google apps script 如何使用Google sheets中的(onEdit)功能基于单个用户创建条件格式。(每次变动)
我正在寻找我需要输入到GoogleSheets脚本编辑器中的脚本或代码,这些脚本或代码将在将来由不同的用户进行编辑,并以不同的颜色显示。类似于修订历史的工作方式 我没有编码的专业知识,所以如果有什么不清楚,一定要问 我自己发现了一些信息,并认为我应该使用:Google apps script 如何使用Google sheets中的(onEdit)功能基于单个用户创建条件格式。(每次变动),google-apps-script,Google Apps Script,我正在寻找我需要输入到GoogleSheets脚本编辑器中的脚本或代码,这些脚本或代码将在将来由不同的用户进行编辑,并以不同的颜色显示。类似于修订历史的工作方式 我没有编码的专业知识,所以如果有什么不清楚,一定要问 我自己发现了一些信息,并认为我应该使用: OneEdit触发器和Session.getactiveuser.getemail我不知道如何在单元格中选择文本并通过编程更改其颜色。我猜这是不可能的,即使它可以用编辑器来完成。但这是我到目前为止所拥有的,欢迎你自己拿着它跑 function
OneEdit触发器和Session.getactiveuser.getemail我不知道如何在单元格中选择文本并通过编程更改其颜色。我猜这是不可能的,即使它可以用编辑器来完成。但这是我到目前为止所拥有的,欢迎你自己拿着它跑
function onEdit(e) {
var sh=e.range.getSheet();
if(sh.getName()!='Sheet1') return;
if(e.oldValue && e.value) {
var oldA=String(e.oldValue).split("");
var newA=String(e.value).split("");
sh.getRange('A2').setValue(oldA.join(','));
sh.getRange('A3').setValue(newA.join(','));
sh.getRange('A4').setValue(getChange(oldA,newA));
}
sh.getRange('A1').setValue('value: ' + e.value + ' oldValue: ' + e.oldValue)
}
function getChange(oldA,newA) {
var oldA=oldA || 'This is the oldA'.split("");
var newA=newA || 'This is the newA'.split("");
var start=-1;
var end=-1;
for(var i=0;i<oldA.length;i++) {
if(oldA[i]!=newA[i]) {
start=i;
break;
}
}
oldA.reverse();
newA.reverse();
for(var i=0;i<oldA.length;i++) {
if(oldA[i]!=newA[i]) {
end=newA.length-i;
break;
}
}
newA.reverse();
var rv=newA.slice(start,end).join('');
return rv;
}
我一直在使用A1:A4从onEdit函数获取反馈信息 谢谢@cooper。我想尝试一下,但当我输入它时,它说,第二行代码中提到的工作表范围尚未定义。我发现的代码有一个类似的问题:函数onEdit{var ss=sheetApp.getActiveSheet;var sheet=ss.getActiveSheet;//获取活动用户的电子邮件地址var EMAIL=Session.getActiveUser.getEmail;Logger.logemail;//根据活动用户预定颜色表的颜色高亮显示上次编辑的单元格。getRange.setBackgroundColor;}但我不知道此代码是否有效/良好。如果没有事件对象,则无法执行此代码。因此,您无法像其他任何函数一样从脚本编辑器执行它。最好只需编辑适当的页面即可按预期运行。