Google App脚本:尝试为电子表格单元格设置.Formula

Ryn*_*rdt 2 google-sheets google-apps-script

我正在尝试使用该cell.setFormula功能设置Google Spreadsheet单元格的公式.

这是我的函数代码.重要的代码行是我尝试的最后一行代码setFormula.

//Create new empty project sheet
function copySheet() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var temp = ss.getSheetByName("Project_Template");
  var name = Browser.inputBox("Create New Project", "Enter name for new project", Browser.Buttons.OK_CANCEL);
  if (name != "cancel") {
    ss.insertSheet(name,1, {template:temp})
    //Add project name to project code cell
    var newSheet = ss.getSheetByName(name);
    var cell = newSheet.getRange(3, 2);
    cell.setValue(name);
    //Update formula in placemarkers sheet
    var rowNum = ss.getNumSheets() - 3;
    var formulaSheet = ss.getSheetByName("Placemarkers");
    var formulaCell = formulaSheet.getRange(rowNum, 1);
    formulaCell.setFormula('=if(isna(filter('name'!AH3:AH3,'name'!AH3:AH3 <> ""))=true,"",filter('name'!AH3:AH3,'name'!AH3:AH3 <> ""))');
  }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试保存脚本时,收到以下错误消息:

Missing ) after argument list. (line 103)
Run Code Online (Sandbox Code Playgroud)

我确信它与引号和双引号的组合有关.没有错误信息,我无法让它工作.任何帮助,将不胜感激.

meg*_*024 7

+操作未插入加入字符串和name变量.以下代码部分修复了该问题

formulaCell.setFormula('=if(isna(filter(' + name + '!AH3:AH3,' + name + '!AH3:AH3 <> ""))=true,"",filter(' + name + '!AH3:AH3,' + name + '!AH3:AH3 <> ""))');
Run Code Online (Sandbox Code Playgroud)