由于Google电子表格不支持动态范围(例如A:A),因此我需要能够使用App Script更新趋势图的范围。不幸的是,Sheet对象的getCharts()方法不返回趋势图的条目。趋势图可以通过脚本访问吗?我已经验证以下代码适用于其他图表类型。
function expandCharts() {
var sheet = SpreadsheetApp.getActiveSheet()
var charts = sheet.getCharts();
for (var i in charts) {
var chart = charts[i];
var ranges = chart.getRanges();
var builder = chart.modify();
for (var j in ranges) {
var range = ranges[j];
builder.removeRange(range);
var newRange = expandRange(range, 5);
builder.addRange(newRange);
}
builder.setOption('title', 'Last updated ' + new Date().toString());
sheet.updateChart(builder.build());
}
}
function expandRange(range) {
var s = range.getSheet()
var startCol = range.getColumn();
var lastRow = s.getLastRow();
var startRow = 1;
var numCols = range.getNumColumns();
range = s.getRange(1, startCol, lastRow, numCols);
return range;
}
答案 0 :(得分:0)
看不到自己做的方法。图表服务也不允许您创建趋势图表。 https://developers.google.com/apps-script/class_charts
修改:“并非所有图表类型都受支持”https://developers.google.com/apps-script/class_charts_charttype