Excel Can';除非图片以前在自己的工作簿中被引用过,否则不要引用其他工作簿中的图片?
我有一个简单的问题:有两个工作簿,Excel Can';除非图片以前在自己的工作簿中被引用过,否则不要引用其他工作簿中的图片?,excel,vba,Excel,Vba,我有一个简单的问题:有两个工作簿,Book1和Book2,在每个工作簿的第一个工作表中都有一个图像控件,它们都称为Image1。但是,Book1中的Image1有图片,而Book2中的Image1没有图片。因此,我在Book2的Sheet1下编写以下代码: Private Sub Image1_Click() Image1.Picture = Workbooks("Book1").Worksheets(1).Image1.Picture End Sub 不幸的是,这会导致一个错误:
Book1
和Book2
,在每个工作簿的第一个工作表中都有一个图像控件
,它们都称为Image1
。但是,Book1
中的Image1
有图片,而Book2
中的Image1
没有图片。因此,我在Book2
的Sheet1
下编写以下代码:
Private Sub Image1_Click()
Image1.Picture = Workbooks("Book1").Worksheets(1).Image1.Picture
End Sub
不幸的是,这会导致一个错误:
错误438(对象不支持此属性或方法)
然而,有趣的是,我在Book1
(Image2
)中创建了另一个图像控件,然后运行以下代码:
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
试试这个
Private Sub Image1_Click()
Image1.Picture = Workbooks("Book1").Worksheets(1).OLEObjects("Image1").Object.Picture
End Sub
您的第一个代码块第一次为我工作:图像从Book2复制到Book1@TimWilliams请问您使用的是哪个版本的Excel?我正在使用2010。您的第一个代码块第一次为我工作:图像从Book2复制到Book1@TimWilliams请问您使用的是哪个版本的Excel?我正在使用2010。