0

Googleスプレッドシートはダイナミックレンジ(例:A:A)をサポートしていないため、AppScriptを使用してトレンドチャートの範囲を更新できるようにする必要があります。残念ながら、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;
}
4

1 に答える 1

0

自分でやる方法がわからない。チャートサービスでは、トレンドチャートを作成することもできません。https://developers.google.com/apps-script/class_charts

編集:「すべてのグラフタイプがサポートされているわけではありません」https://developers.google.com/apps-script/class_charts_charttype

于 2012-08-10T03:49:25.717 に答える