google-apps-script - 如何限制编辑脚本在特定列_google工作表中运行
问题描述
我在工作表中运行脚本以允许多项选择。该脚本有效,但是当我去编辑工作表上其他地方的单元格时,信息消失了。我只需要为第 5 列运行此脚本,因此如果在其他地方记录了某些内容,它不会一直消失。
function onEdit(e) {
var oldValue;
var newValue;
var ss=SpreadsheetApp.getActiveSpreadsheet();
var activeCell = ss.getActiveCell();
if(activeCell.getColumn() == 5 && ss.getActiveSheet().getName()=="TRACKER- Relaunch")
newValue=e.value;
oldValue=e.oldValue;
if(!e.value) {
activeCell.setValue("");
}
else {
if (!e.oldValue) {
activeCell.setValue(newValue);
}
else {
if(oldValue.indexOf(newValue) <0) {
activeCell.setValue(oldValue+','+newValue);
}
else {
activeCell.setValue(oldValue);
}
}
}
}
解决方案
尝试这个:
function onEdit(e) {
var sh=e.range.getSheet();
if(e.range.columnStart==5 && sh.getName()=="TRACKER- Relaunch") {
if(!e.value) {//this doesn't make much sense
e.range.setValue("");
}else if(!e.oldValue) {//nor does this
e.range.setValue(e.value);
}else if(e.oldValue.indexOf(e.value)==-1) {
e.range.setValue(e.oldValue + ',' + e.value);
}else{
e.range.setValue(e.oldValue);
}
}
}
推荐阅读
- html - 使用 flexbox 在 div 旁边水平对齐内容
- python - 我如何将 python 脚本放在云上?(带有 csv 和 sqlite 文件)
- delphi - TStringGrid中的Delphi多色值
- spring-boot - SocketException:操作系统错误:连接被拒绝,errno = 111 Spring Boot,颤振
- css - CSS - 视频不完全适合其容器
- opengl - OpenGL - 使用 g++ 链接 glew 和 glut 库和 dll
- javascript - 为什么当我尝试访问特定值时我的 JSON 数组响应返回未定义
- c++ - 为什么c++空类没有字节对齐?
- android-studio - 带有android studio的新flutter应用程序无法在android模拟器上运行-出现异常:线程“main”javax.net.ssl.SSLHandshakeException中的异常:
- java - JPanel 透明背景和显示元素