我正在尝试复制条带格式或仅应用于可见数据,Google表格脚本

时间:2019-06-06 17:38:16

标签: javascript google-sheets

我有一个正在处理的电子表格,我正在编写代码以复制选择的选项卡,并将它们作为值/格式粘贴到新的工作簿中,以便与用户共享并允许他们编辑某些字段。我需要将数据移到新的工作表中,因为我的数据表中包含QUERY()个函数,这些函数我不想让用户打断,但我希望用户能够根据需要进行过滤和添加注释。我无法正常工作的最后一步是条带/替代颜色格式。它们显然不会保存为背景色,因此不会被复制。

function exportToDashboard() {
  var fromSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var toSpreadsheet = SpreadsheetApp.openByUrl(
    "myURL"
  );

  var fromSheet = fromSpreadsheet.getSheetByName("Contact Summary.DASH");
  var toSheet = toSpreadsheet.getSheetByName("Contact Summary.DASH");
  var fromRange = fromSheet.getRange("A1:E");
  var values = fromRange.getValues();
 //  var banding = fromRange.getBandings();
  var colors = fromRange.getFontColors();
  var fontstyle = fromRange.getFontWeights();
  var fontsizes = fromRange.getFontSizes();
  var toRange = toSheet.getRange(1,1,values.length,values[0].length);

  toRange.clearContent();
  toRange.getBandings().forEach(function (banding) {
    banding.remove();
  });
  toRange.setValues(values);
//  toRange.applyRowBanding(SpreadsheetApp.BandingTheme.GREEN);
  toRange.setFontColors(colors);
  toRange.setFontSizes(fontsizes);
  toRange.setFontWeights(fontstyle);

我希望保留源带,但是当我尝试使用定义的变量banding时,applyRowBanding()函数将不起作用并给出错误。我可以使用applyRowBanding(SpreadsheetApp.BandingTheme.GREEN)来应用所需的带状主题,但它不仅适用于整个列,而且还适用于我的数据(我希望其保留的位置)。由于交替颜色格式不会存储为单元格背景色,因此我无法复制该格式并将其粘贴到任何一种格式。

真的,我只想复制或设置数据条带。

0 个答案:

没有答案