使用单元格值在Google Apps脚本中使用setNamedRange

时间:2018-09-02 13:57:54

标签: google-apps-script google-sheets

因此,我对此并不陌生,但是我能够复制代码并使之适应简单的事情。我想使用单元格的内容在“命名范围”中创建名称。 在A1中,我具有要使用的名称,在A2:A22中,我具有数据范围。

有人共享了此代码,如果命名的ranged的名称在脚本中是显式的,则可以很好地与setNamedRange配合使用-按代码显示TestRange:

function testNamedRange() {
  var ss = SpreadsheetApp.openById('here is the spreadsheet id');
  var range = ss.getRange('Sheet1!A2:A22');
  ss.setNamedRange('TestRange', range);
  var rangeCheck = ss.getRangeByName('TestRange');
  var rangeCheckName = rangeCheck.getA1Notation();
}

但是如果我用“ Sheet1!A1”代替名称“ TestRange”,则它将不会从Sheet1!A1中获取文本,并将其用作该范围的名称-错误消息“给该范围的名称是无效。”:

function testNamedRange() {
  var ss = SpreadsheetApp.openById('here is the spreadsheet id');
  var range = ss.getRange('Sheet1!A2:A22');
  ss.setNamedRange('**Sheet1!A1**', range);
  var rangeCheck = ss.getRangeByName('**Sheet1!A1**');
  var rangeCheckName = rangeCheck.getA1Notation();
}

1 个答案:

答案 0 :(得分:0)

您必须使用一种获取单元格的方法,然后使用另一种方法获取其值。

var cell = ss.getRange('Sheet1!A1');
var cellValue = cell.getValue();

有关更多详细信息,请结帐https://developers.google.com/apps-script/guides/sheets