我想到了!
由于我使用的是用户窗体,因此有一个解决该问题的方法。
我首先尝试将图像放入用户窗体中,而不是将图像放在工作表中然后尝试将它们加载到表单中,方法如下。
在您的用户表单上创建一个框架:框架 http://im88.gulfup.com/Moy8I6.png http://im88.gulfup.com/Moy8I6.png
将框架的可见属性设置为“False":
可见http://im88.gulfup.com/sAIQqh.png http://im88.gulfup.com/sAIQqh.png
通过添加图片控件并加载图像来插入图像,您可以根据需要添加任意数量的图像:图片http://im88.gulfup.com/oas0EQ.png http://im88.gulfup.com/oas0EQ.png
命名图像:名称 http://im88.gulfup.com/cIO317.png http://im88.gulfup.com/cIO317.png
将所有图像一个接一个地拖到框架中,(然后您可以将框架移动到一个角落,这样就不会打扰您:
拖动http://im88.gulfup.com/1fOSut.png http://im88.gulfup.com/1fOSut.png
走开http://im88.gulfup.com/Q1fzKd.png http://im88.gulfup.com/Q1fzKd.png
接下来创建一个图片控件,您将使用它来根据选择显示图片:
表单视图 http://im88.gulfup.com/X1UVRB.png http://im88.gulfup.com/X1UVRB.png
在此示例中,我将使用组合框进行选择。现在将以下代码插入到表单中,这非常简单:
Private Sub ComboBox1_Change()
' Image1 is the name of the created picture control
UserForm3.Controls.Item("Image1").Picture = UserForm3.Controls.Item(UserForm3.ComboBox1.Value).Picture
End Sub
Private Sub UserForm_Initialize()
UserForm3.ComboBox1.AddItem "Argentina"
UserForm3.ComboBox1.AddItem "Brazil"
UserForm3.ComboBox1.AddItem "Chile"
End Sub
正如您将看到的,带有图片的框架被隐藏,并且图像在图片控件内根据选择而变化:
结果http://im88.gulfup.com/MSqyHF.png http://im88.gulfup.com/MSqyHF.png
我认为这是比将图像从工作表导出到临时文件夹然后将它们加载回图片控件更好的方法。