Текущий архив: 2002.12.05;
Скачать: CL | DM;
Вниз
excel Найти похожие ветки
← →
HanIP (2002-11-26 15:09) [0]Как в откром документе excel программно скопировать в буфер обмена весь лист?
← →
Smithson © (2002-11-26 15:14) [1]Начинаешь запись макроса
Делаешь что хочешь
заканчиваешь запись макроса
Смотришь код этого макроса - вот он, твой код (перевод с VB на Delphi делаешь самостоятельно).
← →
HanIP (2002-11-27 09:17) [2]Макрос на 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
← →
kostya (2002-11-27 12:06) [3]Для начала
ExcelApplication1.Cells.Select;
← →
kostya (2002-11-27 12:18) [4]Для затравки хотелось бы показать код, который выполняет ту же задачу, но через буфер обмена (а вдруг в 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;
← →
Рыжик © (2002-11-27 12:33) [5]
> 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;
Страницы: 1 вся ветка
Текущий архив: 2002.12.05;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.011 c