我有此功能循环遍历所有工作表,如果工作表未隐藏,请将工作表名称添加到数组out
。
function sheetnames() {
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var out = new Array()
for (var i=0 ; i<sheets.length ; i++)
if (sheets[i].isSheetHidden()!= true){
out.push( [ sheets[i].getName() ]
)}
Logger.log(out);
}
我还想测试特定的工作表名称,我可以使用
if (sheets[i].getSheetName()!= 'Sheet1'){
但是,当我将它们与||
或运算符放在一起时,两个测试都将被忽略。
if (sheets[i].isSheetHidden()!= true || sheets[i].getSheetName()!= 'Sheet1'){
我不确定这是我正在处理||
还是其他我没有看到的方式。
在此示例中,sheet1是可见的,因此将通过测试的第一部分。
答案 0 :(得分:1)
(sheets[i].isSheetHidden()!= true || sheets[i].getSheetName()!= 'Sheet1')
如果当前工作表未隐藏或未命名为“ Sheet1”,则将返回true
。换句话说,如果当前工作表命名为“ Sheet1”,而却被隐藏,它将仅返回 true
。那可能不是您想要的,是吗?也许您正在寻找的是&&
AND逻辑运算符?
此外,我建议您研究格式化代码,为什么应该使用!==
而不是!=
,并参阅this question来获得与使用var a = [];
相比的信息。 var b = new Array();