Копіювання формату осередку в Excel з Delphi

Підкажіть, як можна скопіювати формат із однієї групи осередків рядка 1 і вставити цей формат в аналогічні осередки рядків 2-10.

Єгоров О.М. (2007-05-04 08:07) [1]

Уточнюю питання. Маємо відформатовану таблицю на аркуші 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) ;

Єгоров О.М. (2007-05-04 08:36) [2]