• ベストアンサー

できると言っちゃったばっかりに、、

TAGOSAKU7の回答

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.4

OLEオブジェクトなら以下のソースで大丈夫だと思います。 あらかじめデザイン時に、フォームのScaleModeをピクセルにしてください。 あとはcreBitMap関数を呼ぶだけで可能なはずです。 欠点としては、実行時にオブジェクトの上に何らかのフォームやウィンドウが前面にあったりすると、それもファイルイメージに取り込まれます。 それを回避する方法もありますが、以前に作成したサンプルがどこかに消えちゃいました。。。 結構大変な処理だった記憶がありますので勘弁してください。。。 Option Explicit Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long Private Sub Command1_Click()   'ファイルにしたいオブジェクトと、ファイルパスを指定   Call creBitMap(Me.OLE1, "c:\test.bmp") End Sub Private Sub creBitMap(inObj As Object, inFilePath As String)   Dim picWork As PictureBox      Dim lngL As Long, lngT As Long, lngW As Long, lngH As Long      'オブジェクトの左位置/上位置/幅/高さ を取得   With inObj     lngL = .Left: lngT = .Top: lngW = .Width: lngH = .Height   End With      'ピクチャボックスを作成   Set picWork = Controls.Add("VB.PictureBox", "picDmy")   'ピクチャボックスの初期設定   With picWork     .Appearance = 0     .AutoRedraw = True     .AutoSize = False     .BorderStyle = 0     .ScaleMode = vbPixels     .Width = lngW     .Height = lngH   End With      With picWork          '描画実行     Call StretchBlt(.hdc, 0, 0, lngW, lngH, Me.hdc, lngL, lngT, lngW, lngH, vbSrcCopy)          '画像の保存     Call SavePicture(.Image, inFilePath)   End With      'ピクチャボックスの破棄   Controls.Remove picWork End Sub

関連するQ&A

  • VBでエクセルのグラフを表示したい

    VB6.0とエクセル2003を使っているのですがまずVBから値を取得してエクセルでグラフを作りそのグラフをまたVBに表示したいのですが一回画像ファイルにしてオブジェクトのイメージで表示するしかないのでしょうか?そうであればエクセルのグラフを画像ファイるに直す方法も教えてください。

  • ピクチャーボックスやイメージに表示せずに画像を保存する方法を教えて下さい。

    開発環境はVB6.0です。 説明べたなので箇条書きで記入しました。 (1)ボタンを押す (2)Dドライブの中にあるJPGファイル(複数)をZドライブにコピー(もしくは移動) コピーでも移動でもどちらでもかまいませんが、なんせ異なったドライブにJPGファイルを写す方法を探しています。 VB上に画像を表示して保存する方法はわかりましたが、   Call SavePicture(Image1, "z:\meibo\a\1.jpg") これでは一気に保存することが出来ないのでとても困っています。 どなたか教えて下さい。よろしくお願いします。

  • pictureboxに表示した画像のファイル名を取得したい。

    PictureBox1.image=image.fromfile("c:\a.jpg") のように画像を表示したピクチャーボックスの ファイル名c:\a.jpgを取得するには どのように書いたら良いでしょうか。 VB.NETでございます。m(__)m

  • 保存済みの画像ファイルが表示されない?

    ネットから保存したjpgの画像ファイルが表示されません。 解決方法のわかる方が、いらっしゃいましたら教えて頂きたいと思います。 (デルのサポートページを見てみましたが対処方法が載っていませんでした) 詳細 画像上で名前を付けて保存を選び、保存先の選択画面で フォルダを選択した時、保存先のフォルダ内に有るはずの jpgファイルが表示されません。 又、フォトショップなどで画像を開く際もファイルが表示されません。 ※Cドライブ→そのファイルにアクセスした場合は  jpgファイルが有りプレビューも出来ます。 OS  WindowsXP 機種  デルDimension 8250 です。 気になる点 以前使っていたWindows98で保存したjpgファイルを MOを使って移動しました。 このファイルの種類を見ると Dell Image Expert イメージとなっています。 この辺が関係あるのでしょうか? ※名前を付けて保存する際、上記のファイルは  保存先フォルダに表示されています。 どうか宜しくお願いします。

  • またまたグラフ、、

     前回大変お世話になった(特にTAGOSAKU7さん)HUKAHIREです。提出期限にはギリギリ間に合ったのですが、修正がかかってしまいました。ExcelからグラフをコピーしてFormに貼り付けてソレをbmpファイルに保存するという作業でしたが、Formなどを通せないそうなんです。なのでExcelからコピーをして直接(他の何かを通して?)ソレをなんとかbmpファイルなどに保存できないでしょうか?もう調べられる手が尽きました、、、(早すぎ??)どうか今回もどうぞ宜しくお願いします。

  • エクセルの表の一部をHPにUPしたい。

    エクセルで作った表とグラフがあるんですが、その一部だけをHPにUPして表示させたいと思っています。ファイルをhtmlで保存すると、全体が表示されてしまいますが、一部だけをhtmlにしたいのですが、いい方法はありませんか?

  • Excelのチャート(グラフ)

    Excelのグラフを画像ファイル(.jpgか.gif)で保存したいのですが、可能でしょうか?

  • ピクチャボックスに描画した画像の保存

    VB6.0にて、 http://www.uploda.org/uporg898462.jpg このようなものを作成しました。 折れ線グラフはプログラムにて後から描画したもの、 それ以外の目盛りなどは最初からピクチャボックスに描画してあるものです。 pic1,pic2は共にピクチャボックスです。 赤い線で囲まれたpic1を目盛り、グラフ、その他のテキストボックスや文字と共に画像として保存したいのですが、 SavePicture Pic1.Image, "C:\SaveTest2.bmp" とすると、pic1の大きさの、何も描画されていない真っ白な画像が保存されてしまいます。 また、SavePicture Pic2.Image, "C:\SaveTest2.bmp" (pic2の保存) とすると、折れ線グラフのみが描画され、目盛りは無くなった画像が保存されてしまいます。 2つのピクチャ共にAutoRedraw=Trueを設定しています。 pic1を上手く保存する方法は無いでしょうか? ご教授、お願いします。

  • DreamWeaverでテンプレートの設定について

    ドリームウェーバ でテンプレートを保存すると、 Templates フォルダに 自動的に保存されます。 今、 index.html と イメージフォルダ と テンプレートフォルダ が同階層にあります。 テンプレートファイルからみると、イメージの位置は、 「 /images/****.jpg 」 のような形になります。 index.html からみると、イメージの位置は、 「 images/****.jpg 」 となります。 そこで質問ですが、 DWの デザイン画面では ちゃんと イメージがすべて表示されているのに、 ブラウザで表示したとき、 テンプレートで読み込むはずのイメージが表示されません。 どうすれば、表示されるのか教えてください。

    • ベストアンサー
    • HTML
  • グラフをJPGファイルにする方法

    Excelで作成したグラフ(エリア)をJPGファイルとして保存する方法を教えて下さい。