首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Delphi程序中删除Excel中的行

从Delphi程序中删除Excel中的行
EN

Stack Overflow用户
提问于 2011-03-14 22:29:15
回答 2查看 5.6K关注 0票数 3

我想用Delphi7程序从Excel中删除行。

这会抛出一个异常:

代码语言:javascript
复制
Excel := CreateOleObject('Excel.Application');  
...  
Excel.ActiveWorkBook.Rows(row).Delete;  

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-14 23:14:21

RowsWorksheet的属性。因此,这应该是可行的:

代码语言:javascript
复制
Excel.ActiveWorkBook.ActiveSheet.Rows[row].Delete;

参见"Excel Object Model Reference"

票数 2
EN

Stack Overflow用户

发布于 2011-03-14 22:57:25

下面的方法对我很有效:

代码语言:javascript
复制
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所说的那样,这是可行的:

代码语言:javascript
复制
Excel.ActiveSheet.Rows[1].Delete;

不过,别忘了先创建一个工作簿!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5299957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档