• ベストアンサー

Imageコントロール vba

Imageコントロールをsheetに直接はりました。 sheetにはったイメージをExcelを開いたときにリンク先のものに変えたいです。 Image1_Click()を使えばクリックすると切り替えることができます。 Image1.Picture = LoadPicture("C:\イメージ.bmp") クリックせずにExcelをひらくと「イメージ.bmp」を参照して画像が変わるようにしたいのですが、どうしたらよいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • ap_2
  • ベストアンサー率64% (70/109)
回答No.1

ファイルオープン時のイベントなら、以下。ほとんど同じなので、お好みでどうぞ。  ・シートイベントに、Workbook_Open()  ・標準モジュールに、Auto_Open() また、セルからFunctionを呼ぶ手もあります。引数にNOW()を渡せば、オープン時などに再計算が走ります。ほぼネタですが。  'セルから "=hoge(NOW())"で呼び出し   Function hoge(n)   set Activesheet.Image1.Picture = ...   hoge = ""  End Function 

xxxcocoxxx
質問者

お礼

夜に回答ありがとうございました。 ドシロウトなもので簡単なところでつまずきます。 もう一つ教えていただけないでしょうか。 image1.Picture = LoadPicture("C:\イメージ.bmp") これをWorkbook_Open()にいれると「変数」をセットするかと思いますが、データ型はObject,imageのどれかになりますか? 申し訳ありません。

その他の回答 (1)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

> image1.Picture = LoadPicture("C:\イメージ.bmp") > これをWorkbook_Open()にいれると「変数」をセットするかと思いますが、 どれが「変数」と言っているのですか?Picture はプロパティですよ。 分からないなら普通に「Picture に設定されるイメージのデータ型」 とか言えばいいのでは? > データ型はObject,imageのどれかになりますか? [Shift]+[F2]でオブジェクトブラウザを表示させて関数の定義を確認 すれば分かる事です。 LoadPicture の戻り値は stdole.IPictureDisp(インターフェイス) Picture プロパティの型は stdole.StdPicture(OLEオブジェクト)

xxxcocoxxx
質問者

お礼

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

関連するQ&A