Google表格脚本:如何仅在名称包含特定文本的表格上运行脚本?

时间:2019-10-22 09:32:56

标签: google-apps-script google-sheets

(在Google表格上) 我想创建一个仅在电子表格中的某些工作表上运行的脚本。为此,我创建了一个脚本,该脚本创建工作表名称数组,其名称(定义为变量curSheetName)符合以下条件:

if(curSheetName ==“ CM:”)

因此,当前工作表名称必须等于“ CM:”,但是我希望它能够使脚本在其标题中包含“ CM:”文本的所有工作表上运行,但我找不到如何编写从句法上讲。在MySQL中,它是'%CM:%',在GSheet公式中,您只使用星号。

这是我的代码:

// Get list of sheet names in an array format
function sheetnames() {
  // Define array
  var out = new Array()
  // Get sheets
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();

  // Work through each sheet one at a time
  for (var i=0 ; i<sheets.length ; i++) {
    // define the current sheet
    var curSheetName = sheets[i].getName();
    // determine if matches criteria
    if(curSheetName == "CM:") { //***************** NEED HELP HERE
      // put into array if matches criteria
      out.push( [ sheets[i].getName() ] );
//      RUN FUNCTION HERE
    }
  }
}

任何帮助表示赞赏! 干杯, 迈克

1 个答案:

答案 0 :(得分:3)

您可以使用JavaScript Array.indexOf()方法来实现。


示例:

if (curSheetName.indexOf('CM:') !== -1) {
  ...
}

文档: