Microsoft Excel reporting and 
 data analyzing with practically no coding. 
 .Net, ActiveX, and VCL versions. 
 www.AfalinaSoft.com

Главная    Продукты    Downloads    Поддержка    Регистрация    Delphi & Excel

[ English ]

MS Office COM Add-ins. Excel reports with minimal coding. Save your time. Get impressive results. VCL & OCX. Microsoft Excel reporting 
 and data analyzing

Delphi & Excel


Продукты



Delphi & Microsoft Excel: работа с ячейками.

Копирование данных


Перемещение данных между листами

var
ISheetSrc, ISheetDst: Excel8_TLB._Worksheet;
IRangeSrc, IRangeDst: Excel8_TLB.Range;
...
try
ISheetSrc := IWorkbook.Worksheets.Item['Лист1'] as Excel8TLB._Worksheet;
ISheetDst := IWorkbook.Worksheets.Add(EmptyParam, ISheetSrc, 1, EmptyParam, xlLCID) as _Worksheet;
IRangeSrc := ISheetSrc.UsedRange[xlLCID];
IRangeDst := ISheetDst.Cells.Item[1, 1];
IRangeSrc.Copy(IRangeDst);
finally
IRangeDst := nil;
IRangeSrc := nil;
ISheetDst := nil;
ISheetSrc := nil;
end;

Метод Copy интерфейса Range принимает в качестве параметра любой другой Range, совпадение размеров источника и получателя необязательно.

Примечание:
При копировании области убедитесь, что не редактируете ячейку, иначе возникнет исключение "Call was rejected by callee".

Через clipboard

Использование метода Copy без указания параметра destination скопирует ячейки в буфер обмена Windows:

var
ISheetSrc, ISheetDst: Excel8_TLB._Worksheet;
IRangeSrc, IRangeDst: Excel8_TLB.Range;
...
try
ISheetSrc := IWorkbook.Worksheets.Item['Лист1'] as Excel8TLB._Worksheet;
ISheetDst := IWorkbook.Worksheets.Add(EmptyParam, ISheetSrc, 1, EmptyParam, xlLCID) as _Worksheet;
IRangeSrc := ISheetSrc.UsedRange[xlLCID];
IRangeDst := ISheetDst.Cells.Item[1, 1];
IRangeSrc.Copy(EmptyParam); // так кладем в Clipboard
ISheetDst.Paste(IRangeDst, EmptyParam, xlLCID); // а вот так достаем оттуда
finally
IRangeDst := nil;
IRangeSrc := nil;
ISheetDst := nil;
ISheetSrc := nil;
end;

Copyright © 1999-2003
Afalina Co., Ltd.
Все права защищены.

WebMaster