首页 > 解决方案 > 删除 Google Apps 脚本中特定列中的所有空格

问题描述

我正在尝试删除特定列(货币列)中的所有空格,因为否则导入的值无法正确汇总。

我试过这个:

function cleaneuro() {

  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('H2:H996').activate();
  spreadsheet.getActiveRangeList().setNumberFormat('#,##0.00\\ [$€-1]');
  spreadsheet.getActiveRangeList().replace(/\s/g, "")  // here it should happen
  spreadsheet.getRange('A2').activate(); 

 };

但像往常一样,我似乎在替换行中有语法错误......有什么帮助吗?

标签: google-apps-scriptgoogle-sheetsreplace

解决方案


您不能replace()调用RangeList。您需要遍历返回的范围并使用TextFinder

function cleaneuro() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('H2:H996').activate();
  spreadsheet.getActiveRangeList().setNumberFormat('#,##0.00\\ [$€-1]');
  var ranges = spreadsheet.getActiveRangeList().getRanges();
  for (var i = 0; i < ranges.length; i++) {
    ranges[i].createTextFinder('\\s').useRegularExpression(true).replaceAllWith('');
  }
  spreadsheet.getRange('A2').activate(); 
 };

推荐阅读