我想用Delphi7程序从Excel中删除行。
这会抛出一个异常:
Excel := CreateOleObject('Excel.Application');
...
Excel.ActiveWorkBook.Rows(row).Delete; 我做错了什么?
发布于 2011-03-14 23:14:21
Rows是Worksheet的属性。因此,这应该是可行的:
Excel.ActiveWorkBook.ActiveSheet.Rows[row].Delete;参见"Excel Object Model Reference"。
发布于 2011-03-14 22:57:25
下面的方法对我很有效:
var
Excel: ExcelApplication;
Workbook: ExcelWorkbook;
Sheet: ExcelWorksheet;
begin
Excel := CoExcelApplication.Create;
Workbook := Excel.Workbooks.Add(EmptyParam, LOCALE_USER_DEFAULT);
Sheet := Workbook.ActiveSheet as ExcelWorksheet;
Sheet.Range['A1','A1'].EntireRow.Delete(EmptyParam);
end;请注意,我使用的是早期绑定,这使工作变得更容易。只需包含Excel2000单元,此代码将为您工作。
使用早期绑定将允许您在编译时捕获此类错误,而不是难以诊断运行时错误。
如果您想继续使用后期绑定,那么就像Sertac所说的那样,这是可行的:
Excel.ActiveSheet.Rows[1].Delete;不过,别忘了先创建一个工作簿!
https://stackoverflow.com/questions/5299957
复制相似问题