|
Kein 様
いつもいつも回答して頂きありがとうございます。
>↓こちらは、画像に登録して呼び出し専用とするマクロです。
>
>Sub SetUF()
> Dim FPath As String
> Dim x As Variant
>
> x = Application.Caller
> If VarType(x) <> vbString Then Exit Sub
> FPath = ActiveSheet.Pictures(x) _
> .ShapeRange.AlternativeText
> MsgBox FPath
> If UserForms.Count > 0 Then Unload UserForm1
> UserForm1.Show
> On Error Resume Next
> With UserForm1.Image1.Picture
> .LoadPicture = ""
> .LoadPicture = FPath
> End With
>End Sub
>
>*コードは間違いないはずですが、なぜかこちらのテストでは何度やっても
>画像を表示できませんでした。
>こちらのImageオブジェクトは、どこかがおかしいみたいです・・。
下記のように変更したら表示できました。
Sub SetUF()
Dim FPath As String
Dim x As Variant
x = Application.Caller
If VarType(x) <> vbString Then Exit Sub
FPath = ActiveSheet.Pictures(x) _
.ShapeRange.AlternativeText
MsgBox FPath
If UserForms.Count > 0 Then Unload UserForm1
>> UserForm1.Show 0 モーダル起動していたので処理が止まっていた?(1)
' With UserForm1.Image1.Picture
' .LoadPicture = ""
' .LoadPicture = FPath
' End With
>> With UserForm1.Image1 'WithブロックなんちゃらとErrorが出たので修正
>> .Picture = LoadPicture("")
>> .Picture = LoadPicture(FPath)
>> End With
>> UserForm1.Show Picture設定してからForm表示。(2) (1)とどちらか一方
On Error Resume Next
End Sub
但しこれですと、FPathで指定しているように外部に画像データを配置しなければならないと思う(実際にフォルダ名称変更でError)のですが、本体ファイル以外にファイル準備をしなくても良いように出来ないですか?例えばxを使ってですが。
|
|