1

Office 2010 xlsm シートで、固定サイズの Image ActiveX コントロールを作成しましたImage1。私の意見では、次のマクロはセルで指定されたものに画像パスを設定する必要がありB3ますが、Image1.Picture の行で「実行時エラー '424': オブジェクトが必要です」というエラー メッセージで失敗します。imPathに等しいことを確認しました"C:\some\valid\image\path.jpg"

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$B$3" Then
        imPath = Range("B3")
        Image1.Visible = True         
        Image1.Picture = imPath
        Image1.PictureSizeMode = fmPictureSizeModeZoom   
        Image1.BorderStyle = fmBorderStyleNone    
        Image1.BackStyle = fmBackStyleTransparent
    End If
End Sub

ここで何が問題なのですか?ところで、指定されたファイルが実際に存在するかどうかを確認する方法はありますか?

4

1 に答える 1

5

画像を検索して Excel ヘルプを簡単に調べると、次の行を使用することをお勧めします。

Image1.Picture = LoadPicture(imPath)

ファイルが存在するかどうかを確認するには、FileSystemObject を使用します。

Dim fs as variant
Set fs = CreateObject("Scripting.FileSystemObject")
fs.FileExists(imPath)

編集

ところで、あなたが使用することができます

imPath = Target.value

imPath を設定します (テストされていませんが、これは確実です)。

于 2012-09-25T14:54:29.180 に答える