|    | 
     VBプロジェクトをいじればなんとかできるけど...。 
因みにフォームがロードされている状態では書き換えは出来ません。 
A1にフルパスが書いてあるとして。 
尚、97の時は出来たりできなかったり、めちゃくちゃ不安定だった。 
2003でやってみた時、書き換え後にブックを上書き保存して、次に開いて 
フォームを立ち上げた時だったっけ?にマクロが無効やらどんたらこうたらいわれた。 
ブックを手開き直しせばアラートはなくなったけど。 
と、かなり不安定で危険かと。 
 
フォームモジュール 
 
Private Sub CommandButton2_Click() 
Application.OnTime Now(), "書き換え" 
Unload Me 
End Sub 
 
Private Sub CommandButton3_Click() 
Application.OnTime Now(), "消す" 
Unload Me 
End Sub 
 
標準モジュール 
 
Sub 書き換え() 
For Each myCtl In ThisWorkbook.VBProject.VBComponents.Item("UserForm1").Designer.Controls 
  If TypeName(myCtl) = "Image" Then 
    myCtl.Picture = LoadPicture(Range("A1").Value) 
  End If 
Next 
End Sub 
 
Sub 消す() 
For Each myCtl In ThisWorkbook.VBProject.VBComponents.Item("UserForm1").Designer.Controls 
  If TypeName(myCtl) = "Image" Then 
    myCtl.Picture = Nothing 
  End If 
Next 
End Sub 
 | 
     
    
   |