除非以前在其自己的工作簿中提到过,否则不能引用来自其他工作簿的图片?

我有一个简单的问题:有两个工作簿, Book1Book2 ,并在每个第一个工作表中有一个Image control ,都称为Image1 。 但是, Book1Image1有一张图片,而Book2中的Image1没有。 所以,我在Book2 Sheet1下面写下下面的代码:

 Private Sub Image1_Click() Image1.Picture = Workbooks("Book1").Worksheets(1).Image1.Picture End Sub 

不幸的是,这导致了一个错误:

错误438(对象不支持此属性或方法)。

有趣的是,当我在Book1Image2 )中创build另一个图像控件,然后运行以下代码:

 Private Sub Image2_Click() Image2.Picture = Image1.Picture End Sub 

这个代码不仅工作,而且当我回到Book2去运行以前失败的代码时,它就起作用了!

在外部工作簿可以引用图片之前是否必须先将图片提交到本地? 如果是这样,是否有解决方法?

尝试这个

 Private Sub Image1_Click() Image1.Picture = Workbooks("Book1").Worksheets(1).OLEObjects("Image1").Object.Picture End Sub