我使用Fill.UserPicture属性更改形状中显示的图像,但图像不会被重绘/刷新。如果我手动右键单击该形状并执行更改图片,然后粘贴相同的路径和文件名(从VBA复制),它的工作原理。
this SO page says that it worked for them
这可能是什么原因?
我试过先让Fill不可见。我使用的是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示例:&#34; H:\ My Documents \ Project One \ Development \ Visual Stock Pack \ TS03N50NBLK_Large_F_1.jpg&#34;