Javascript 工作表的名称在运行期间给google工作表中的名称范围带来了一个错误

Javascript 工作表的名称在运行期间给google工作表中的名称范围带来了一个错误,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,接下来的工作,我有麻烦的一些工作表名称之间有空格。例如,Aveva Group返回指定给此范围的名称无效。。我应该仅仅更改选项卡/工作表的名称,还是有办法解决它 function NamedRanges() { var spreadsheet = SpreadsheetApp.getActive(); //put all the sheets here you want to include var sheetNames = ["Trainline&

接下来的工作,我有麻烦的一些工作表名称之间有空格。例如,Aveva Group返回
指定给此范围的名称无效。
。我应该仅仅更改选项卡/工作表的名称,还是有办法解决它

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));
          });
      });
};

下面的修改怎么样

发件人: 致:
  • 在此修改中,空格将替换为
    。如果要替换为其他字符,请修改脚本
参考:

在当前阶段,似乎无法在命名范围的名称中使用空格。因此,当名称设置为命名范围时,删除空格或用其他字符(如
)替换空格如何?在这种情况下,可以通过修改脚本来实现您的目标。此外,还可以使用脚本从选项卡名称中删除或替换空格。你期望的方向是哪个?我尝试了
\u
字符,但失败了。我还尝试了
-
,但也失败了。所以脚本路径可能有效。感谢您的回复<代码>-不能用于命名范围的名称。但是,
\u
可用于命名范围的名称。因此,为了正确了解您目前的情况,您能提供您测试的脚本吗?没问题,我已经附上了它。这是原始帖子中的链接,谢谢回复。根据您添加的脚本,我提出了一个修改后的脚本作为答案。你能确认一下吗?如果这不是你期望的结果,我道歉。
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, "_")