簡體   English   中英

從Delphi程序中刪除Excel中的行

[英]Delete row in Excel from Delphi program

我想用Delphi7程序從Excel中刪除行。
這引發了一個異常:

Excel := CreateOleObject('Excel.Application');  
...  
Excel.ActiveWorkBook.Rows(row).Delete;  

我究竟做錯了什么?

以下適用於我:

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;

不要忘記先創建一個工作簿!

Rows工作表的屬性。 所以這應該工作:

Excel.ActiveWorkBook.ActiveSheet.Rows[row].Delete;

請參閱“Excel對象模型參考”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM