2010-12-13 6 views
0

Excel 2007用のVSTOアドインをC#で作成しようとしていますが、以前に生成されたチャートの値を読み取る際に問題があります。アドインは大きなデータセットの一部を複製し、データを同じプロパティであるが異なるワークシートとソースデータで再移植します。元のワークシートからグラフのタイトル(およびその他のプロパティ)を取得しようとすると、例外が発生します。私はGlobals.ThisAddIn.Application.Chartsのいくつかのバリエーションを出発点として使用しようとしましたが、失敗しました。私が前提にしているのは、私が古いグラフを正しく参照していないということです。VSTO Excelアドインのチャート情報を読み取る

助けていただければ幸いです。

ありがとうございました。

答えて

0

掘り出した後、グラフのSeriesCollectionからプロパティを読み取っていたはずです。次のようなものがありました。

スニペット Excel.ChartObjects xlCharts =(Excel.ChartObjects)newWorkSheet.ChartObjects(Type.Missing);

Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 60, 720, 432); 
Excel.Chart chart = myChart.Chart; 
Excel.ChartObject oldchartObject = (Excel.ChartObject)VstoWorksheet.ChartObjects(1); 
Excel.Chart oldchart = oldchartObject.Chart; 
Excel.SeriesCollection seriesCollection = (Excel.SeriesCollection)chart.SeriesCollection(Type.Missing); 
Excel.SeriesCollection oldSeriesCollection = (Excel.SeriesCollection)oldchart.SeriesCollection(Type.Missing); 
Excel.Series oSeries; 
for (int i = 1; i <= (ColumnCount - 2); i++) 
{ 
    oSeries = seriesCollection.NewSeries(); 
    Excel.Series oOldSeries = oldSeriesCollection.Item(i); 
    oOldSeries = (Excel.Series)oldchart.SeriesCollection(i); 
    oSeries.MarkerStyle = oOldSeries.MarkerStyle; 
    oSeries.Name = oOldSeries.Name; 
} 
関連する問題