TypeError:无法读取null的属性“ getFormula”(第3行,文件“代码”)-URL格式

时间:2020-02-25 21:28:34

标签: google-apps-script google-sheets formula

我正在尝试通过Google脚本编辑器添加自定义公式,并且标题中始终出现错误消息。下面是字符串。

TypeError:无法读取null的属性“ getFormula”(第3行,文件“代码”)-URL格式

function linkURL(reference) {
var sheet = SpreadsheetApp.getActiveSheet();
var formula = SpreadsheetApp.getActiveRange().getFormula()
var args = formula.match(/=\w+\((.*)\)/i);
try {
  var range = sheet.getRange(args[1]);
}
catch(e) {
throw new Error(args[1] + ' is not a valid range');
}
var formulas = range.getFormulas();
var output = [];
for (var i = 0; i < formulas.length; i++) {
  var row = [];
  for (var j = 0; j < formulas[0].length; j++) {
    var url = formulas[i][j].match(/=hyperlink\("([^"]+)"/i);
  row.push(url ? url[1] : '');
}
output.push(row);
}
return output

}

1 个答案:

答案 0 :(得分:1)

这似乎可行:

function getLink() {
  const ss=SpreadsheetApp.getActive();
  const sh=ss.getActiveSheet();
  let v=sh.getRange('You specify range').getFormula();
  v=v.match(/([^"]+)/g);
  Logger.log(v[1]);
}

这可能在较旧和较慢版本的Apps脚本中不起作用。尝试通过启用V8来使用ES6版本