簡體   English   中英

Google Apps 腳本:如何一次更新多個切片器的范圍?

[英]Google Apps Script: How to update range on several slicers at once?

問題:無法使用 Google 腳本更新兩個或更多切片器的范圍

信息:工作表包含兩個切片器

代碼:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Tracking');

  var slicers = sheet.getSlicers();
  var slicerRange = sheet.getRange('A3:A160'); //current slicer range A3:A165

  slicers[0,1].setRange(slicerRange);
}

Error: Two slicers can either have zero or all common rows.

怎么了? 如果我只使用工作表和代碼中的一個切片器,則該代碼有效。

非常感謝您的幫助!

我不認為你可以編輯他們的范圍。 但是您可能可以使用新范圍刪除並再次創建它們:

function test(){

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Tracking');

  var slicers = sheet.getSlicers();
  var newRange = sheet.getRange('A3:A160'); // your new range

  var slicersCount = 0;

  for (i=0;i<slicers.length;i++){
    slicers[i].remove();
    slicersCount ++;
  }

  for (i=0;i<slicersCount;i++){
    sheet.insertSlicer(newRange, 5, 3); // choose anchorRowPos and anchorColPos you want
  }

}

然后您可以根據需要修改其設置的 rest。 希望這可以幫助。

非常感謝你的幫助。 它最終幫助我讓它發揮作用。

這是我最終得到的代碼,它在 insertSlicer() 上沒有計數器,因為我需要提供單獨的設置:

function test() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Tracking');



  var slicers = sheet.getSlicers();
  var rowValue = sheet.getLastRow();
  var newRange = sheet.getRange('A3:X'+rowValue); //new range

  for (i=0; i<slicers.length; i++){
    slicers[i].remove();
  }

  //Slicers to column A and D
  destinationSheet.insertSlicer(newRange, 2, 1); // choose anchorRowPos and anchorColPos
  destinationSheet.insertSlicer(newRange, 2, 4); 


  //Get new slicers
  var slicers = destinationSheet.getSlicers();

  var filterCriteria = SpreadsheetApp.newFilterCriteria().setHiddenValues(['']).build();
  slicers[0].setColumnFilterCriteria(1, filterCriteria);
  slicers[0].setTitle('Title1');

  var filterCriteria2 = SpreadsheetApp.newFilterCriteria().setHiddenValues(['1']).build();
  slicers[1].setColumnFilterCriteria(24, filterCriteria2);
  slicers[1].setTitle('Title2');
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM