Vba 复制到新工作簿后图像是否已损坏?

Vba 复制到新工作簿后图像是否已损坏?,vba,excel,debugging,Vba,Excel,Debugging,当我使用vba将工作表复制到另一个工作簿时,我的一张图像图片将因以下错误而中断: Dim filename as string filename = "copyToThisExcel.xlsm" Workbooks.Open filename:= "C:\myExcelFile.xlsm" Sheets("Sheet1").Select Sheets("Sheet1").Copy After:=Workbooks(filename).Sheets(1) 这种情况在计算机上随机发生,而不是在其

当我使用vba将工作表复制到另一个工作簿时,我的一张图像图片将因以下错误而中断:

Dim filename as string
filename = "copyToThisExcel.xlsm"
Workbooks.Open filename:= "C:\myExcelFile.xlsm"
Sheets("Sheet1").Select
Sheets("Sheet1").Copy After:=Workbooks(filename).Sheets(1)

这种情况在计算机上随机发生,而不是在其他计算机上。我相信这是2007年和2010年excel的一个已知错误。是否有解决此问题的方法或其他将图像添加到excel的方法不会导致此问题

这里有一个链接到这个已知的bug


我想你必须打开目标文件。看看这个例子:

Option Explicit

Sub test()

Dim filename As String
filename = "myFile2.xlsm"
Workbooks.Open filename:="C:\temp\myFile2.xlsm"
Workbooks.Open filename:="C:\temp\myFile1.xlsm"
Sheets("Sheet1").Copy After:=Workbooks(filename).Sheets(1)

End Sub

我没有添加这部分代码,但是的,它确实可以在尝试打开新文件并复制工作表之前打开目标文件。它在80%的时间内正常工作,但在20%的时间内,图像会像上图一样出错,这是excel 2007-2010的一个已知错误,如果手动复制,100%就可以了,这只是使用vba进行复制。试图找到另一个解决方案。