我有几个工作表.xls文件。我有几张纸.xlsm文件。我想将xls.sheet(x)复制到xlsm.sheet(y)中。我尝试下面的代码:将.xls工作表复制到.xlsm工作表
try
XLTo := CreateOleObject('Excel.Application');
XLFrom := CreateOleObject('Excel.Application');
except
ShowMessage('Excel might not be installed');
exit;
end;
XLFrom.Workbooks.Open(filename1,1);
XLTo.Workbooks.Open(filename2,1);
SheetFrom := XLFrom.WorkSheets['Sheet Caption'];
SheetTo := XLScreener.WorkSheets['Sheet Caption'];
SheetFrom.Select;
SheetTo.Select;
直到这里,一切正常,现在我需要SheetFrom复制到SheetTo但我对如何做到这一点困惑。我试过了:
SheetScreener.Copy(SheetDF);
但是我得到一个错误“工作表类的复制方法失败”。 SheetTo(xlsm)是一个常用工作表,其中包含要用SheetFrom的数据覆盖的数据。
我错过了什么?
我读了互联网,看到了几种方法,但我不知道我是否因为.xlsm或因为我做了错误而失败。另外,我读到它必须使用相同的Excel应用程序,但我从两个不同的文件复制,所以我不知道如何去做。
是否要在目标中创建新工作表或覆盖现有工作表的内容? –
覆盖现有工作表(SheetTo) – Amos
您是否需要先将其删除,然后创建一个新工作表?或者这会打破裁判?如果是这样,那么你可能需要复制范围而不是表单。复制工作表会创建一个新工作表。 –