プロが教えるわが家の防犯対策術!

Imageコントロールをsheetに直接はりました。

sheetにはったイメージをExcelを開いたときにリンク先のものに変えたいです。

Image1_Click()を使えばクリックすると切り替えることができます。
Image1.Picture = LoadPicture("C:\イメージ.bmp")

クリックせずにExcelをひらくと「イメージ.bmp」を参照して画像が変わるようにしたいのですが、どうしたらよいでしょうか。

A 回答 (2件)

ファイルオープン時のイベントなら、以下。

ほとんど同じなので、お好みでどうぞ。
 ・シートイベントに、Workbook_Open()
 ・標準モジュールに、Auto_Open()

また、セルからFunctionを呼ぶ手もあります。引数にNOW()を渡せば、オープン時などに再計算が走ります。ほぼネタですが。
 'セルから "=hoge(NOW())"で呼び出し 
 Function hoge(n)
  set Activesheet.Image1.Picture = ...
  hoge = ""
 End Function 
    • good
    • 0
この回答へのお礼

夜に回答ありがとうございました。
ドシロウトなもので簡単なところでつまずきます。
もう一つ教えていただけないでしょうか。

image1.Picture = LoadPicture("C:\イメージ.bmp")
これをWorkbook_Open()にいれると「変数」をセットするかと思いますが、データ型はObject,imageのどれかになりますか?

申し訳ありません。

お礼日時:2011/11/22 05:42

> image1.Picture = LoadPicture("C:\イメージ.bmp")


> これをWorkbook_Open()にいれると「変数」をセットするかと思いますが、
どれが「変数」と言っているのですか?Picture はプロパティですよ。
分からないなら普通に「Picture に設定されるイメージのデータ型」
とか言えばいいのでは?

> データ型はObject,imageのどれかになりますか?
[Shift]+[F2]でオブジェクトブラウザを表示させて関数の定義を確認
すれば分かる事です。
LoadPicture の戻り値は stdole.IPictureDisp(インターフェイス)
Picture プロパティの型は stdole.StdPicture(OLEオブジェクト)
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2011/11/22 19:36

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