Javascript 谷歌电子表格权限
我想这是给专家的。就是这样,一步一步:Javascript 谷歌电子表格权限,javascript,google-apps-script,permissions,google-sheets,Javascript,Google Apps Script,Permissions,Google Sheets,我想这是给专家的。就是这样,一步一步: 我创建了一个谷歌电子表格 以下脚本正在其上运行: 此电子表格作为编辑器与其他用户共享 某些编辑器限制某些时间间隔 问题 当所有者更新所描述的两列时(请参见上面的代码),脚本工作正常 当共享编辑器修改某些内容时,只有脚本的第二个条件(if)起作用 有人能帮我吗 剧本可能有问题吗?为什么它只在电子表格所有者上正常工作?而不是使用单个'=' 使用双精度“==” 在代码中更改以下语句: if (updateColName = "Nº Cotação"
- 我创建了一个谷歌电子表格
- 以下脚本正在其上运行:
- 此电子表格作为编辑器与其他用户共享
- 某些编辑器限制某些时间间隔
- 当所有者更新所描述的两列时(请参见上面的代码),脚本工作正常
- 当共享编辑器修改某些内容时,只有脚本的第二个条件(if)起作用
剧本可能有问题吗?为什么它只在电子表格所有者上正常工作?而不是使用单个'='
使用双精度“==” 在代码中更改以下语句:
if (updateColName = "Nº Cotação")
致:
并更改以下内容:
if (updateColName = "Resposta ao Cliente")
致:
更新:
以下是完整的脚本代码,应根据您的要求执行:
看起来
updatedColName
是未定义的
。请参见Hi Kishan,谢谢,但是,完成此操作后,代码不再工作。嗨,Daniel,我已更新了我的答案并发布了完整的代码,该代码应根据您的要求工作。好的,谢谢Kishan。。。我使用完整的代码对其进行了测试,但问题仍然存在!:(如果(条件)正在为另一个用户工作,则只需第二个。)。。。
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);
}
}
};