google-apps-script - 谷歌表格脚本中的切换案例在输入单元格时无法识别某些案例,但在复制+粘贴时工作
问题描述
这是一个非常简单的脚本,我已经注意到失败的案例。我测试最多的案例是“ts”,当我将它键入单元格时,该值不会被替换,但是当我从脚本复制并将其粘贴到单元格时,它会替换该值。我已经多次重新键入该行代码以确保引号内没有多余的空格。任何关于为什么会发生这种情况的见解都非常感谢。
switch (e.value) {
case 'n':
e.range.setValue('=Sheet5!B1');
break;
case 't':
e.range.setValue('=Sheet5!B2');
break;
case 'i': //fails
e.range.setValue('=Sheet5!B3');
break;
case 'c':
e.range.setValue('=Sheet5!B4');
break;
case 's': //fails
e.range.setValue('=Sheet5!B5');
break;
case 'st':
e.range.setValue('=Sheet5!B6');
break;
case 'si': //fails
e.range.setValue('=Sheet5!B7');
break;
case 'sc':
e.range.setValue('=Sheet5!B8');
break;
case 'ts': //fails
e.range.setValue('=Sheet5!B6');
break;
case 'is': //fails
e.range.setValue('=Sheet5!B7');
break;
case 'cs':
e.range.setValue('=Sheet5!B8');
break;
case 'd': //fails
e.range.setValue('=Sheet5!B9');
break;
default:
return;
}
return;
}```
解决方案
如果您创建并安装 onEdit 触发器,则此方法有效,因为您无法使用简单的触发器更改值。
function onYourEdit(e) {
var sh=e.range.getSheet();
if(sh.getName()!='Sheet10')return;
switch (e.value) {
case 'n':
e.range.setValue('=Sheet11!B1');
break;
case 't':
e.range.setValue('=Sheet11!B2');
break;
case 'i': //fails
e.range.setValue('=Sheet11!B3');
break;
case 'c':
e.range.setValue('=Sheet11!B4');
break;
case 's': //fails
e.range.setValue('=Sheet11!B5');
break;
case 'st':
e.range.setValue('=Sheet11!B6');
break;
case 'si': //fails
e.range.setValue('=Sheet11!B7');
break;
case 'sc':
e.range.setValue('=Sheet11!B8');
break;
case 'ts': //fails
e.range.setValue('=Sheet11!B6');
break;
case 'is': //fails
e.range.setValue('=Sheet11!B7');
break;
case 'cs':
e.range.setValue('=Sheet11!B8');
break;
case 'd': //fails
e.range.setValue('=Sheet11!B9');
break;
default:
return;
}
return;
}
推荐阅读
- javascript - 用 HTMl div 覆盖整个 div
- javascript - 为什么函数将整个代码作为字符串返回
- c# - 元素删除导致 Selenium 中的错误点击
- reactjs - ReactJS隐藏字段在提交时发送返回空值
- javascript - 将值 0 添加到链表节点,每个其他值仅适用于数字 0 不起作用
- javascript - 如何从输入的“datalist”属性中获取用户选择的值
- python - 为什么“key=str.lower”在排序时不将可迭代对象变为小写?
- api - 权限设置为 isAuthenticated 的路由无法从迅雷客户端(或邮递员)访问
- python - Python PrettyTable 添加 ljust
- r - 数据操作 - 基础