tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
Excel2007 CopyPicture メソッドがビットマップをコピーしない(VB.NET) ( No.0 )  [親スレッドへ]
日時: 2008/02/11 21:21
名前: 花ちゃん

***********************************************************************************
* カテゴリー:[エクセル][][]                                                  *
* キーワード:技術情報,VBA,グラフ,クリップボード,ビットマップファイル,Metafile    *
***********************************************************************************

Excel2007 の VBA の ChartObject.CopyPicture メソッドがビットマップ形式を
クリップボードにコピーしない

下記に投稿している Excelのグラフをクリップボード経由でPictureBoxに貼付 を
VB2005 Excel 2007 の環境で試していたら、画像が表示されない。

MyChart1.CopyPicture(Appearance:=Excel.XlPictureAppearance.xlScreen, _
                                Size:=Excel.XlPictureAppearance.xlScreen, _
                                Format:=Excel.XlCopyPictureFormat.xlBitmap)

http://hanatyan.sakura.ne.jp/dotnet/Excel04.htm


そこで、クリップボードに入っている Format 形式を調べてみると下記の5種類となっていた。
Preferred
DropEffect
InShellDragLoop
EnhancedMetafile
MetaFilePict

念のため、Excel 2002  Excel 2003 等で調べてみると下記のように Bitmap 形式で入っていた。
System.Drawing.Bitmap
Bitmap
DeviceIndependentBitmap
Format17
Link

検索してみたが、Microsoft のサポート技術情報等は見当たらなかったが、どうもバグの
ようである。

VB6.0 で扱った場合は、クリップボードで Metafile が扱えるから、特に問題がないのだが
.NET 系になってから、Clipboard クラスは、Metafile をサポートしなくなったのでやっかい
である。(同じ会社の製品なのに)
Win32 API 関数の厄介になる必要が出てくる。



 [スレッド一覧へ] [親スレッドへ]