1

新しいEmbeddedChartBuilderに範囲を動的に追加したいのですが、次のエラーが発生します。

"dashOutput-行:605、エラー:InternalError:メソッドinsertChart($ Proxy843)が見つかりません。"

動的ではないが機能するコードは次のとおりです。

var tRange = sourceSheet.getRange(12, 1, 4, 2);
var tRange2 = sourceSheet.getRange(12,3,4,2);
var chart2 = destSheet.newChart()
             .setPosition(5,6,5,5)
             .setChartType(Charts.ChartType.LINE)
             .addRange(tRange)
             .addRange(tRange2)
             .build();
destSheet.insertChart(chart2);

しかし、これは私にそのエラーを与えます。

var tRange = sourceSheet.getRange(12, 1, 4, 2);
var tRange2 = sourceSheet.getRange(12,3,4,2);
var chart2 = destSheet.newChart()
             .setPosition(5,6,5,5)
             .setChartType(Charts.ChartType.LINE);
chart2.addRange(tRange);
chart2.addRange(tRange2);
chart2.build();
destSheet.insertChart(chart2);

2番目の例は動的ではありませんが、機能する場合は、ループ内で.addRange()を繰り返します。

何か案は?私は何が欠けていますか?チャートの作成時に追加する範囲の数を本当に知る必要がありますか?

ありがとう、エリックB。

4

1 に答える 1

0

問題は、Sheet.newChartメソッドがEmbeddedChartBuilderクラスのインスタンスを作成し、EmbeddedChartBuilder.buildメソッドがEmbeddedChartクラスのインスタンスを作成し、Sheet.insertChartメソッドがインスタンスを必要とすることEmbeddedChartです。最初のコードでは、chart2変数はEmbeddedChartクラスのインスタンスであり、2番目のコードでは、変数はクラスchart2のインスタンスですEmbeddedChartBuilder。そのため、エラーが発生します。次のようにコードを変更します。動作するはずです。

var tRange = sourceSheet.getRange(12, 1, 4, 2);
var tRange2 = sourceSheet.getRange(12,3,4,2);
var chart2 = destSheet.newChart()
             .setPosition(5,6,5,5)
             .setChartType(Charts.ChartType.LINE);
chart2.addRange(tRange);
chart2.addRange(tRange2);
destSheet.insertChart(chart2.build());
于 2012-09-26T18:06:37.853 に答える