[英]IF Return Google Apps Script GoogleSheets
我有一个简单的应用程序,用于监视电子表格上除2个标签之外的其他标签上的活动(onEdit),将它们分别称为“ Sheet1”和“ Sheet2”。#
代码段是:
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetName = sheet.getName();
var Sheet1 = ss.getSheetByName("Sheet1");
var Sheet2 = ss.getSheetByName("Sheet2");
if (sheetName == Sheet1 || sheetName == Sheet2) return;
这不起作用,它将监视这些表上的更改。 通过尝试其他方法:
if (sheetName == Sheet1) return;
if (sheetName == Sheet2) return;
仍然无法正常工作。
但是,当我尝试仅一种时,例如:
if (sheetName == Sheet1) return;
然后它将不监视Sheet1上发生的情况。
我如何才能停止查看这两张纸?
谢谢
当sheetName
为Sheet1
或Sheet2
即工作表名称)时,您要运行return
。 如果我的理解是正确的,那么该修改如何?
sheetName
是字符串。 关于Sheet1
和Sheet2
,在运行var Sheet1 = ss.getSheetByName("Sheet1")
和var Sheet2 = ss.getSheetByName("Sheet2")
之前,它们是字符串。 但是在运行这些文件之后, Sheet1
和Sheet2
成为Sheet2
对象。 此时, if (sheetName == Sheet1 || sheetName == Sheet2) return;
,“字符串”和“对象”进行比较。 这样,就无法执行所需的比较。 如果要从此比较中检索“ true”,可以通过更改为sheetName = "Sheet"
。 但我认为这不是您想要的。 所以为了解决这个问题,我认为有两种模式适合您的情况。 请检查它们并选择所需的图案。 通过工作表名称Sheet1
和Sheet2
比较sheetName
。
var sheetName = sheet.getName();
if (sheetName == "Sheet1" || sheetName == "Sheet2") return;
虽然我不知道有关sheet
的sheet.getName()
从你的问题,如果你想在片比较后确认是否Sheet1
和Sheet2
在活跃的电子表格是现有的,请修改如下。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetName = sheet.getName();
var Sheet1 = ss.getSheetByName("Sheet1");
var Sheet2 = ss.getSheetByName("Sheet2");
if ((Sheet1 && sheetName == Sheet1.getName()) || (Sheet2 && Sheet2.getName())) return;
Sheet1 &&
的Sheet1 && sheetName == Sheet1.getName()
用于检查Sheet1
的存在。 Sheet2
也相同。 如果我误解了您的问题,对不起。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.