イメージ
イメージは、画像を配置できるコントロールです。
表示できるファイルは、bmp、cur、gif、ico、jpg、wmfなど。
イメージをユーザーフォームに配置します。オブジェクト名:Image1
表示する画像を準備。
しげっち、えんどーくん、ぷーちゃんの3つ。ロボたんは、なし。
シートに画像のアドレスを用意。
スピンボタンをクリックしたら対応する画像がユーザーフォームに表示されるようにします。
LoadPicture関数を使います。
object.Picture = LoadPicture( イメージファイルのパス名 )
スピンボタンが変わったときなので、SpinButton1_Change。
Private Sub SpinButton1_Change()
TextBox1.Value = SpinButton1.Value
TextBox2.Value = Cells(SpinButton1.Value + 2, "C")
imgEntry
End Sub
Sub imgEntry()
Image1.Picture = LoadPicture(Cells(SpinButton1.Value + 2, "K"))
End Sub
2007年9月
イメージ その2
動くようになったけれど、もう少し追加。
もしも、シートに用意したイメージファイル名を間違っていたら...
endo.gif を endo と記入してあったとする。
これで実行すると
表示しようとする前に、Dir関数を使ってファイルが存在するか確認します。
Dir(pathname)
一致するものが見つかった場合は、その名前を返し、
見つからなかった場合は、""を返す関数です。
Sub imgEntry()
If Dir(Cells(SpinButton1.Value + 2, "K").Value) = "" Then
Image1.Picture = Nothing
Else
Image1.Picture = LoadPicture(Cells(SpinButton1.Value + 2, "K"))
End If
End Sub
これを実行すると、ファイルが見つかりませんというエラーはなくなったけれど、
セル(K5)の空欄(イメージファイル名がない)のとき、新たなエラーが発生。
Dir関数は、引数(pathname)を指定しないとエラーが発生します。
これを回避するために、Dir関数の前で、pathnameがあるかどうか確認する必要があります。
Sub imgEntry()
If Cells(SpinButton1.Value + 2, "K").Value = "" Then
Image1.Picture = Nothing
ElseIf Dir(Cells(SpinButton1.Value + 2, "K").Value) = "" Then
Image1.Picture = Nothing
Else
Image1.Picture = LoadPicture(Cells(SpinButton1.Value + 2, "K"))
End If
End Sub
エラーがなくなりました。
2007年9月