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-help,搜索图片,建议您使用此行:

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 回答