在Excel工作表中插入图像

时间:2012-09-25 14:42:01

标签: excel vba excel-vba worksheet-function

在我的Office 2010 xlsm工作表中,我创建了一个名为Image1的固定大小的Image ActiveX控件。在我看来,以下宏应该将图像路径设置为单元格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

这里有什么问题?顺便说一句,有没有办法检查指定的文件是否确实存在?

1 个答案:

答案 0 :(得分:5)

快速查看excel-help,搜索图片,建议您使用此行:

Image1.Picture = LoadPicture(imPath)

要检查文件是否存在,请使用FileSystemObject

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

修改

顺便使用

imPath = Target.value

设置imPath(未测试,但非常确定)