tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルグラフの作成
記事No306
投稿日: 2003/07/22(Tue) 10:42
投稿者moku
[OSのVer]:Windows    [VBのVer]:VB.NET  
助けて下さい。
Excelでグラフを作成してピクチャーボックスに(メタルファイルで)表示したいのですが
表示方法がわかりません。
すいませんが、よろしくお願いします。

[ツリー表示へ]
タイトルRe: グラフの作成
記事No307
投稿日: 2003/07/22(Tue) 11:52
投稿者花ちゃん
参照先http://www.bcap.co.jp/hanafusa/
> 表示方法がわかりません。

私は .NETをもっておりませんのでもっといい方法があるかも知れませんが
クリップボード経由でピクチャーボックスに貼り付けたら出来るはずですが。

[ツリー表示へ]
タイトルRe^2: グラフの作成
記事No308
投稿日: 2003/07/22(Tue) 22:44
投稿者moku
[OSのVer]:Windows    [VBのVer]:VB.NET  
花ちゃんのHPに載っているVB6.0の方法で行ってみたのですが、どうも
クリップボートにExcelのグラフを経由するとファイル形式がBIPかメタルファイルか
ファイルの拡張子の指定をしなければいけないのですが、拡張子が不明で、
コピーは出来るのですが、貼り付けが出来ない状況です。

[ツリー表示へ]
タイトルRe^3: グラフの作成
記事No309
投稿日: 2003/07/22(Tue) 23:28
投稿者花ちゃん
これを .NET 用で試して見てもだめですか?

    If Clipboard.GetFormat(vbCFMetafile) Then
        'メタファイルならピクチャーコントロールに貼り付け
        Picture1.Picture = Clipboard.GetData(vbCFMetafile)
    End If

[ツリー表示へ]
タイトルClipboardクラスでは
記事No310
投稿日: 2003/07/23(Wed) 00:56
投稿者うぉる
PictureBox1.Image = Clipboard.GetDataObject().GetData(DataFormats.Bitmap)

これでビットマップは取得できます。
でも、メタルファイル(メタファイル?)としての取得までには至っていません。

[ツリー表示へ]
タイトルなかなか上手く行きません
記事No312
投稿日: 2003/07/23(Wed) 20:44
投稿者moku
[OSのVer]:Windows    [VBのVer]:VB.NET  
花ちゃん、うぉるさんありがとう御座います。
やっぱりエクセルのグラフをPictureBoxに取り込めません。
ちなみにxlSheet2.ChartObjects("グラフ 1").Copy()でグラフはコピーできるのですが
PictureBoxに取り込めない状況です。

[ツリー表示へ]
タイトルRe: なかなか上手く行きません
記事No313
投稿日: 2003/07/23(Wed) 21:24
投稿者うぉる
> やっぱりエクセルのグラフをPictureBoxに取り込めません。
> ちなみにxlSheet2.ChartObjects("グラフ 1").Copy()でグラフはコピーできるのですが
> PictureBoxに取り込めない状況です。

どういったコードを書いていて、どの場所でどういったエラーが出ているのか記述出来るならお願いし
ます。
コードを載せられないのであるならば、簡単なサンプルを作ってください。
mokuさんの状況が分からないので的確なアドバイスが出来ません。

[ツリー表示へ]
タイトルRe^2: なかなか上手く行きません
記事No314
投稿日: 2003/07/24(Thu) 00:42
投稿者moku
[OSのVer]:Windows    [VBのVer]:VB.NET  
    すいません。
   2行目でグラフをClipboardにCopyして
   3行目でPictureBoxに表示したいのですが・・・
 
        1:xlSheet2 = CType(book.worksheets(2), Excel.Worksheet)
        2:xlSheet2.ChartObjects("グラフ 1").Copy()
        3:PictureBox1.Image = Clipboard.GetDataObject.GetData(DataFormats.MetafilePict)

  上のコードを実行してもNGで、ファイルをBitmapにてもNGでした。

[ツリー表示へ]
タイトルRe^3: なかなか上手く行きません
記事No320
投稿日: 2003/07/24(Thu) 13:10
投稿者うぉる
>NGでした。
NGとはどういった状態になったの?  と、疑問が出てしまうので次回は詳細をお願いしますね。

で、いろいろ試してみたのですがメタファイルでのやり取りは出来ませんでした。
(クラス的に出来ないのか、私の勉強不足なのか・・・)

>Clipboard.GetDataObject.GetDataPresent(DataFormats.MetafilePict)
この結果は"True"と返ってくるものの
>Clipboard.GetDataObject.GetData(DataFormats.MetafilePict)
では"Norhing"となる。なぜ・・・!?

とりあえず、ビットマップを用いたExcelからの読み込みのサンプルを記載します。

xlChart = xlSheet.ChartObjects("グラフ 1")
xlChart.CopyPicture(Excel.XlPictureAppearance.xlScreen, Excel.XlCopyPictureFormat.xlBitmap)
PictureBox1.Image = Clipboard.GetDataObject().GetData(DataFormats.Bitmap)

ポイントがExcelからクリップボードへ画像を送る際に、Bitmapと指定しているところです。

[ツリー表示へ]
タイトルありがとう御座います
記事No322
投稿日: 2003/07/26(Sat) 00:10
投稿者moku
[OSのVer]:Windows    [VBのVer]:VB.NET  
> [OSのVer]:Windows    [VBのVer]:VB.NET  
うぉるさん、ありがとう御座いました。
グラフの貼り付けはできまた。 

メタファイルでの貼り付け方法が分かったら、また教えて下さい。
本当にありがとう御座いました。

[ツリー表示へ]