C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 37 を表示中)
■19452 / )  C#から、ExcelのChartをWordへコピー
□投稿者/ カレー (1回)-(2008/05/23(Fri) 10:55:17)

分類:[C#] 

2008/05/23(Fri) 11:01:15 編集(投稿者)
2008/05/23(Fri) 10:59:52 編集(投稿者)

<pre><pre>はじめまして

C#(VS2005)から、ExcelのグラフデータをWordへコピーする方法で悩んでいます。

開発環境
Visual Studio 2005
Windows XP Pro
Office 2007(COMにてMicrosoft Word/Excel 12.0 Object Libraryを参照)


グラフを作成する箇所までは完成しています。
前提
グラフは既に作成されているものとし、
Excel.Chart xlChartにExcel.ChartObject.Chartオブジェクトが入っている事とします。
Word.Range wRangeには、Word.Document.Rangeが入っている事とします。

実際にWord文書内にコピーする手順は以下の通りに行っています。

xlChart.ChartArea.Copy();
wRange.PasteAndFormat(Word.WdRecoveryType.wdPasteDefault);

上記のコーディングで一応貼り付けは出来ていますが、
Excelのグラフデータが、メタファイルに変換されてしまいます。
よって、後からグラフの編集もできず、印刷時に文字もつぶれてしまいます。

そこで、下記の手順を試しました。

手順@
xlChart.ChartArea.Copy();
wRange.PasteAndFormat(Word.WdRecoveryType.wdChartLinked);
//このコマンドは使用できません。が発生

手順A
xlChart.ChartArea.Copy();
object oMissing = Missing.Value;
object oPlacement = Word.WdOLEPlacement.wdInLine;
object oDataType = Word.WdPasteDataType.wdPasteOLEObject;
wRange.PasteSpecial(ref oMissing, ref oMissing, ref oPlacement, ref oMissing, ref oDataType, ref oMissing, ref oMissing);
//指定した種類のデータは使用できません。が発生

しかし、上記はいずれもエラーとなりました。
C#上からWordへExcelのグラフをグラフオブジェクトのままコピーする方法は無いのでしょうか?
</pre></pre>
返信 編集キー/


管理者用

- Child Tree -