Excel chartの系列の追加
エクセルのグラフの系列を追加したいのですが,どうしても例外エラーが発生します.
型の不一致と出るので,型を調べていろいろキャストしたりやってみてもどうやっても例外がでてしまいます.
処理はなされているようで,グラフにはちゃんと反映はされるので,その部分をtry-catch文でスルーさせると系列も追加されていて,やりたいことはできて正常終了するのですが,このやり方は明らかに良くないと思うので,是非解決させたいです.
型宣言を省いたcodeは↓のようにしてます
charts=(Excel.ChartObjects)oSheet.ChartObjects(Type.Missing);
chartObj=charts.Add(100, 100, 700, 400);
chart=chartObj.Chart;
chart.ChartType=Excel.XlChartType.xlXYScatterLines;
chartRange1=oSheet.get_Range("B2","B50");
chart.SetSourceData(chartRange1,Excel.XlRowCol.xlColumns);
seriesCollection=(Excel.SeriesCollection)chart.SeriesCollection(Type.Missing);
chartRange2=oSheet.get_Range("A2","A50");
seriesCollection.Item(1).XValues=chartRange2;
chartRange3=oSheet.get_Range("C2","C5");
chartRange4=oSheet.get_Range("A2","A5");
/*try
{
*/
seriesCollection.Add(chartRange3,Excel.XlRowCol.xlColumns,0,0,1).XValues=chartRange4; //ここで下の例外が発生します
/*}
catch
{}
*/
【
'System.InvalidCastException' のハンドルされていない例外が mscorlib.dll で発生しました。
追加情報 : OleAut が型の不一致をレポートしました。
】
となります.
コメント化してるtry-catch部分をコメントから外して処理させると無事にやりたいことが実行されてます.
この例外エラーはどういう意味なのでしょうか?
よろしくお願いします.
補足
>どんな(なんという)例外をcatchするんですか? 例えば数字を入力するべきを文字で入力があった場合などです。 >処理を中断せず続行してはいけない例外も多いです。 とりあえずどのようにすれば処理を中断せずに行えるかという事を 知りたいので、今回の場合は処理を中断するということを考えず 例えば5人分の点数を入力するとして、、、 >実行結果は 10点 30点 例外処理が検出されました。 39点 40点 ↑このような感じで表示を行いたいのです。