![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
excel
HanIP © (2002-11-26 15:09:00)Как в откром документе excel программно скопировать в буфер обмена весь лист?
Рыжик (2002-11-27 12:33:00) [1]
> HanIP (27.11.02 09:17)
Почти правильно.
Только вместо
XL.WorkBook[1].WorkSheets[1].Cells.Select;
XL.WorkBook[1].WorkSheets[1].selectionCopy;
надо
XL.WorkBook s[1].WorkSheets[1].Cells.Select;
XL.selection.Copy;
kostya (2002-11-27 12:18:00) [2]Для затравки хотелось бы показать код, который выполняет ту же задачу, но через буфер обмена (а вдруг в Word вставлять будем):
procedure TForm1.btnMoveDataClick(Sender: TObject);
var ISheetSrc, ISheetDst: Excel8TLB._Worksheet;
IRangeSrc, IRangeDst: Excel8TLB.Range;
begin
if Assigned(IWorkbook) then
try
ISheetSrc := IWorkbook.Worksheets.Item["Лист1"] as Excel8TLB._Worksheet;
ISheetDst :=
IWorkbook.Worksheets.Add(EmptyParam, ISheetSrc, 1, EmptyParam, 0) as _Worksheet;
IRangeSrc := ISheetSrc.Range["TestRange2", EmptyParam];
IRangeDst := ISheetDst.Range[ "D4", EmptyParam];
IRangeSrc.Copy(EmptyParam); // так кладем в Clipboard
ISheetDst.Paste(IRangeDst, EmptyParam, 0); // а вот так достаем оттуда
finally
IRangeDst := nil;
IRangeSrc := nil;
ISheetDst := nil;
ISheetSrc := nil;
end;
end;
kostya (2002-11-27 12:06:00) [3]Для начала
ExcelApplication1.Cells.Select;
HanIP (2002-11-27 09:17:00) [4]Макрос на VB
Cells.Select
Selection.Copy
Текст В Delphi
var
XL:Variant
begin
XL := CreateOleObject("Excel.Application");
XL.WorkBooks.Open(OpenDialog1.FileName);
XL.WorkBook[1].WorkSheets[1].Cells.Select;
XL.WorkBook[1].WorkSheets[1].selectionCopy;
end;
Ошибка типа Method WorkBook not supporteв by automation object
Smithson (2002-11-26 15:14:00) [5]Начинаешь запись макроса
Делаешь что хочешь
заканчиваешь запись макроса
Смотришь код этого макроса - вот он, твой код (перевод с VB на Delphi делаешь самостоятельно).