• 締切済み

エクセルグラフがピクチャボックスに上手く表示しない

vb.netにて。。。 excelのグラフをピクチャーボックスにて 表示するプログラムを組んでおります。 使用するexcelは、excel2007(.xlsx形式)とexcel2002(.xls形式)です。 パソコンによって、入っているexcelが違うので、 どちの形式でも実行できるようにしたいです。 (問題) 2007では、正規のものがちゃんと表示されますが、 2002では、グラフの1/4程度の部分しか表示されません。      'クリップボードを初期化 Clipboard.Clear()       'クリップボードにコピー Dim ChartSheet As Object Dim ChartSheets As Object = objWorkBook.Sheets Dim Chartobj As Object 'Dim ChartGraph As Object ChartSheet = objWorkBook.Sheets((exlsht)) Chartobj = ChartSheet.ChartObjects((exlgra)) Chartobj.CopyPicture(Appearance:=1, Format:=2) System.Threading.Thread.Sleep(2000) Application.DoEvents() '---------- クリップボード経由でPictureに貼り付け ------------------ If Clipboard.ContainsImage() Then 'クリップボードにあるデータの取得 Dim img As Image = Clipboard.GetImage() If img IsNot Nothing Then System.Threading.Thread.Sleep(2000) 'データが取得できたときは表示する Form_PictureBox.PictureBox1.AutoSize = True Form_PictureBox.PictureBox1.Image = img System.Threading.Thread.Sleep(2000) End If End exlshtは.xlsx形式か.xls型式かを選択したものが exlgraは”グラフ1”を指定します。 クリップブックを使用してみてみると、 その段階で1/4程度のものをコピーしています。 Chartobj.CopyPicture ではだめなのでしょうか? ちなみに、エクセルの参照をすると、 2002ではえらーになるので、 Object型式で呼び出しています。 非常に困っております。 よろしくご教授願います。

みんなの回答

回答No.1

>2007では、正規のものがちゃんと表示されますが、 >Chartobj.CopyPicture(Appearance:=1, Format:=2) Excel 2007 の CopyPicture では、ビットマップ形式でクリップボードにコピーはできなかった はずですが? 実行環境と、グラフの作成環境をごっちゃにして質問していませんか? (質問内容には、5W1H を含めて質問しないと相手に伝わりません。) 又、下記のような事をしていると回答を得られません。 http://moug.net/faq/viewtopic.php?t=55295&sid=b17ef673c2852888f0c79882b22ef911

関連するQ&A