![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование формата ячейки в Excel из Delphi
Егоров А.Н. © (2007-05-03 16:07:00)Подскажите, как можно скопировать формат из одной группы ячеек строки 1 и вставить этот формат в аналогичные ячейки строк 2-10.
Егоров А.Н. (2007-05-04 08:36:00) [1]Все получилось !!!
WS.Range['A1','W1'].Copy(EmptyParam);
WS.Range['A2','W2'].PasteSpecial(xlPasteFormats,xlNone,False,False);
Егоров А.Н. (2007-05-04 08:07:00) [2]Уточняю вопрос. Имеем отформатированную таблицу на листе WS в книге WB Excel. При этом ячейки A1:C1, D1:S1, T1:W1 объеденены, т.е. имеем три ячейки (группы) обведенных рамкой, каждая со своим форматом. Затем вставляем строки, чтобы увеличить до необходимого количество строк в форматированной таблице.
var
XL: TExcelApplication;
WB: ExcelWorkbook;
WS: ExcelWorksheet;
// Открываем EXCEL
XL := TExcelApplication.Create(Self);
XL.ConnectKind := ckNewInstance;
XL.Connect;
// Открываем книгу WB
WB := XL.Workbooks.Open(fTemp, 3, False,
EmptyParam, EmptyParam, EmptyParam, true, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, true, EmptyParam, EmptyParam, 0);
// Открываем лист WS
WS := WB.Sheets['Накладная'] as ExcelWorksheet;
// Вставляем строки
WS.Range['A1','A1'].EntireRow.Insert(xlDown,EmptyParam);
в итоге имеем строку 2, которая имеет все: формат ячеек, выравнивание, рамки, но пропадает объединение ячеек.
Тот же эфект происходит при копировании строки 1 в строку 2:
WS.Range['A1','W1'].Copy(WS.Range['A2','W2']);
Можно ли выполнить Copy() в буфер и как это записать, чтобы потом можно было выполнить вставку формата в строку 2:
WS.Range['A2','W2'].PasteSpecial(xlPasteFormats,xlNone,False,False);