除非之前在其自己的工作簿中引用过,否则无法引用其他工作簿中的图片?

时间:2016-07-14 03:32:41

标签: excel vba

我有一个简单的问题:有两个工作簿,Book1Book2,每个工作表中都有一个Image control,都叫Image1。但是,Image1中的Book1有一张图片,而Image1中的Book2却没有。因此,我在Sheet1的{​​{1}}下编写了以下代码:

Book2

不幸的是,这会导致错误:

  

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

然而,有趣的是,当我在Private Sub Image1_Click() Image1.Picture = Workbooks("Book1").Worksheets(1).Image1.Picture End Sub Book1)中创建了另一个图像控件,然后运行以下代码:

Image2

这段代码不仅有效,而且当我回到Private Sub Image2_Click() Image2.Picture = Image1.Picture End Sub 运行之前失败的代码时,它仍然有效!

是否需要在外部工作簿引用之前首先将图片引用到本地?如果是这样,有没有解决方法呢?

1 个答案:

答案 0 :(得分:0)

试试这个

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