首页 > 解决方案 > 工作表的名称在谷歌工作表中命名范围的功能期间带来错误

问题描述

之后,我遇到了一些在它们之间有空格的工作表名称的问题。例如,Aveva Group 返回The name given to this range is invalid.. 我应该只更改选项卡/工作表的名称还是有办法解决它?

function NamedRanges() {
      var spreadsheet = SpreadsheetApp.getActive();
      //put all the sheets here you want to include
      var sheetNames = ["Trainline","Softcat","Avast", "AVEVA Group"];
      var namerng=['Date','Price','Returns','GrossReturns','GeometricReturns',
                  'Risk','NegativeReturns','PositiveReturns','TimeValueMoney'];
      sheetNames.forEach(sh=>{
          sheet = spreadsheet.getSheetByName(sh);
          namerng.forEach((nr,i)=>{
           spreadsheet.setNamedRange(sh+nr, sheet.getRange(1,i+1,sheet.getMaxRows(),1));
          });
      });
};

标签: javascriptgoogle-apps-scriptgoogle-sheets

解决方案


下面的修改呢?

从:

spreadsheet.setNamedRange(sh+nr, sheet.getRange(1,i+1,sheet.getMaxRows(),1));

到:

spreadsheet.setNamedRange((sh + nr).replace(/ /g, "_"), sheet.getRange(1,i+1,sheet.getMaxRows(),1)); //  This might be able to be also used. or (sh + nr).replace(/\s/g, "_")
  • 在此修改中,空格替换为_. 当您想替换为其他字符时,请修改脚本。

参考:


推荐阅读