0
我試圖從電子表格A
中獲取圖表。我將其放入Chart對象中,並嘗試將其放回到電子表格B
中。如何在記錄器中顯示電子表格名稱
我總是收到一個'未知的圖紙名稱'錯誤。正如你在代碼中看到的那樣,我一直試圖在新的圖表中添加新的範圍。當我做Logger.log(newrange.getSheet())
時,我的確得到了Sheet
而不是SHEETNAME
,就像圖表生成器使用圖紙名稱一樣。
發生了什麼事?
function updateCharts() {
var ss = SpreadsheetApp.openById("ID");
var sheet = ss.getSheetByName("SHEETNAME");
var charts = sheet.getCharts();
var ss2 = SpreadsheetApp.openById("NEW ID");
var sheet2 = ss2.getSheetByName("SHEETNAME");
for (var c=0; c<charts.length; c++) {
var chart = charts[c];
var ranges = chart.getRanges();
var type = chart.getType();
var info = chart.getOptions();
var builder = chart.modify();
var range = ranges[0];
builder.removeRange(range);
var startRow = range.getRow();
var startCol = range.getColumn();
var numRows = range.getNumRows();
var numCols = range.getNumColumns();
var newrange = ss2.getSheetByName("statistiek").getRange(startRow, startCol, numRows, numCols);
Logger.log(newrange.getSheet());
builder.addRange(newrange);
var title = chart.getOptions().get('title')
builder.setOption('title', title + " " + p);
var newchart = builder.build();
ss2.getSheetByName("statistiek").insertChart(newchart);
}
}