3

imはvisualbasic expressを使用しています。私はアプリケーションをExcelに挿入したい。私はそれを成功させました。コードはここにあります。画像をExcelに挿入する

Dim oExcel As Object 
    Dim oBook As Object 
    Dim oSheet As Object 

    oExcel = CreateObject("Excel.Application") 
    oExcel.Visible = True 
    oBook = oExcel.Workbooks.Add 
    oSheet = oBook.Worksheets(1) 
    oSheet.Shapes.AddPicture("C:\Logo\logo.bmp", False, True, 415, 1, 20, 30) 

これはうまくいきます。しかし、画像の場所( "C:\ Logo \ logo.bmp")の代わりに、私は画像そのものを入れたいと思います。私はこのように最後の行を変更したいという意味です:

oSheet.Shapes.AddPicture(Me.Picturebox1.image , False, True, 415, 1, 20, 30) 

しかし、それは動作しません。場所を使わずに画像を挿入する方法はありますか?

答えて

2

残念ながら、ファイル名を使用せずに画像を追加する方法はありません。 MSDN docs for Shapesによれば、挿入する画像を決定するために文字列以外の文字を使用すると、AddPictureのオーバーロードが発生していないように見えます。

ここで目標とするのは、必ずしもディスク上にあるとは限らないイメージを追加することです(またはディスク上のどこにあるのかわかりません)。その場合は、ImageLocationプロパティでイメージの場所(パスまたはURI)を取得し、それをAddPictureに渡すことができます。 Image.Save()を使用して最初にイメージをディスクに保存し、新しいパスをAddPictureに渡すこともできます。

関連する問題