Google apps script Google Sheets应用程序脚本onEdit()触发器

Google apps script Google Sheets应用程序脚本onEdit()触发器,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我是编程新手,请在这里耐心等待。我正在编写一个脚本,其中包括在编辑时获取一个单元格值,然后在不同范围内的一系列单元格下划线。给定单元格上有验证,因此用户只能从下拉菜单的一系列选项中进行选择 据我所知,验证功能运行良好,但当我通过选择一个下拉菜单选项编辑指定的单元格时,什么也没有发生。是否需要调用onEdit(e)函数?我阅读了api参考资料,搜索了stackoverflow和web以寻求帮助,但我被卡住了 请告知;感谢您的帮助。以下是我的代码的相关部分: function validateLea

我是编程新手,请在这里耐心等待。我正在编写一个脚本,其中包括在编辑时获取一个单元格值,然后在不同范围内的一系列单元格下划线。给定单元格上有验证,因此用户只能从下拉菜单的一系列选项中进行选择

据我所知,验证功能运行良好,但当我通过选择一个下拉菜单选项编辑指定的单元格时,什么也没有发生。是否需要调用
onEdit(e)
函数?我阅读了api参考资料,搜索了stackoverflow和web以寻求帮助,但我被卡住了

请告知;感谢您的帮助。以下是我的代码的相关部分:

function validateLeagueSizeInput(sheet) {
  var cell = sheet.getRange('G2'),
      values = [[8], [10], [12]],
      range = sheet.getRange('A998:A1000').setValues(values),
      rule = SpreadsheetApp.newDataValidation().requireValueInRange(range, true).build();
  cell.setDataValidation(rule);
}

function onEdit(e) {
  var cell = e.value,
      range = SpreadsheetApp.getActiveSheet().getRange('A2:F301');
  for (var i = cell + 1; i < Math.floor(301 / cell); i += cell) {
    for (var j = 1; j <= 6; j++) {
      range[i][j].setBorder(null, null, true, null, null, null);
    }
  }
}
函数validateLeagueSizeInput(表){
var cell=sheet.getRange('G2'),
值=[[8]、[10]、[12]],
范围=表.getRange('A998:A1000')。设置值(值),
rule=SpreadsheetApp.newDataValidation().requireRewageInRange(范围,true.build();
cell.setDataValidation(规则);
}
功能OneEdit(e){
var单元=e值,
range=SpreadsheetApp.getActiveSheet().getRange('A2:F301');
对于(变量i=单元+1;i<数学楼层(301/单元);i+=单元){

对于(var j=1;j有大量电子表格更改不会触发
onEdit()
函数-您可能只是第一个报告此特定更改的人。请参阅。

“硬代码”变量
cell
->
var cell=5;
的值。然后设置断点并运行调试器。逐步检查代码。如果不确定
onEdit()
函数是否正在运行,请添加
Logger.log('it run!'+e.value);
语句在顶部,编辑一个单元格,然后查看日志。感谢您的建议,@SandyGood!我以前尝试过记录
cell
变量,但是
onEdit(e)
函数肯定没有被触发。可能是从下拉菜单中选择的选项不会触发
onEdit()
功能,正如@Mogsdad所逃避的。请尝试安装更改触发事件。再次感谢您的输入。我决定只创建一个菜单项,并在以这种方式触发时让代码执行。感谢您提供的信息@Mogsdad!您能想出另一种触发下划线代码的方法吗?只允许用户从有限的选项列表中进行选择ons?再次感谢您的输入。我决定只创建一个菜单项,并在以这种方式触发时让代码执行。