我认为这是专家的意思。它是,一步一步:
label
问题
当所有者更新两个描述的列(参见上面的代码)时,脚本工作正常
当共享编辑器修改某些内容时,只需脚本的第二个条件(如果)正常工作
有人可以帮我吗?
脚本是否有问题,也许?为什么它只在电子表格所有者上正常工作?
答案 0 :(得分:0)
而不是使用单个'='
使用double'=='
在代码中更改以下语句:
if (updateColName = "Nº Cotação")
要:
if (updateColName == "Nº Cotação")
并更改以下内容:
if (updateColName = "Resposta ao Cliente")
要:
if (updateColName == "Resposta ao Cliente")
更新:
这是完整的脚本代码,应该按照您的要求工作:
function onEdit(event) {
var actRng = event.source.getActiveRange();
var actSheet = actRng.getSheet();
if( actSheet.getName() == 'Cotações' && actRng.getRowIndex() > 1 ) {
var updateColName = actSheet.getRange(1,actRng.getColumn()).getValue();
var headers = actSheet.getRange(1, 1, 1, actSheet.getLastColumn()).getValues();
var date = Utilities.formatDate(new Date(),'GMT-3','dd-MM HH:mm');
if( updateColName == 'Nº Cotação' ) {
var dateCol = headers[0].indexOf('Data proposta');
actSheet.getRange(actRng.getRowIndex(),dateCol+1).setValue(date);
}
else if( updateColName == 'Resposta ao Cliente' ) {
var dateCol = headers[0].indexOf('Contatado');
actSheet.getRange(actRng.getRowIndex(),dateCol+1).setValue(date);
}
}
};