一回も披露したことのない豆知識

お世話になります。

VB6でエクセルのセルを数値で指定して、そこに画像を読み込んで実態を張り付けたいのですが、

色々調べて
ActiveSheet.Pictures.Insertと
ActiveSheet.Shapes.AddPictureを試してみましたが

ActiveSheet.Shapes.AddPicture( FileNameTmp, False, True, 10, 20, 0, 0)
AddPictureはもしかしてVB6には対応していないのでしょうか?
構文エラーになってしまいます。

ActiveSheet.Pictures.Insert(FileNameTmp).Select
Insertだと画像がリンクになってしまいます。

A 回答 (1件)

ActiveSheet はExcelVBAですから


VB6から操作するにはExcelオブジェクトから
記載しないとダメなのでは?
⇒画像の縦横のサイズが0になっているのは気になりましたので、
こちらは100とさせてもらいましたけど。

Excelの参照設定は行なわれているとして

Dim xlApp As New Excel.Application
Dim xlWb As Excel.Workbook
Dim xlWs As Excel.Worksheet

Dim FileNameTmp As String

Set xlWb = xlApp.Workbooks.Open("C:\abc.xls")
xlApp.Visible = True

Set xlWs = xlWb.ActiveSheet
FileNameTmp = "C:\test.jpg"

' シートオブジェクトを用いない時
xlApp.ActiveSheet.Shapes.AddPicture FileNameTmp, False, True, 10, 20, 100, 100

'シートオブジェクトを用いた時
'xlWs.Shapes.AddPicture FileNameTmp, False, True, 10, 20, 100, 100

こんな感じじゃないですかね?
⇒閉じるとか解放については省いてます。
    • good
    • 0
この回答へのお礼

ありがとうございました。
括弧を外せばよかったんですね。
先ほどためして、無事動作しました。

お礼日時:2013/10/04 16:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報