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);
    }
  }
};