首页 > 解决方案 > VBA Shape.Fill.UserPicture 不加载图片

问题描述

我正在使用 Fill.UserPicture 属性来更改以形状显示的图像,但图像不会被重绘/刷新。如果我手动右键单击形状并执行更改图片,然后粘贴相同的路径和文件名(从 VBA 复制),它就可以工作。

这个 SO 页面说它对他们有用

这可能是什么原因?

我试过先让填充不可见。我正在使用 Excel 2016。

编辑:添加了代码

Dim shpImage As Shape
Dim sNewImagePathAndName As String

sNewImagePathAndName = GetImageFromWebsite(sLineNumber)

Set shpImage = ThisWorkbook.Worksheets("Images").Shapes("shpTemplateImage")

With shpImage
    If sNewImagePathAndName <> vbNullString Then
        .Fill.Visible = msoFalse
        .Fill.UserPicture PictureFile:=sNewImagePathAndName
        Debug.Print sNewImagePathAndName
        .Fill.Visible = msoTrue
    End If
End With

sNewImagePathAndName 示例:“H:\My Documents\Project One\Development\Visual Stock Pack\TS03N50NBLK_Large_F_1.jpg”

标签: vbaexcel

解决方案


推荐阅读