Показать сообщение отдельно
Старый 13.02.2008, 12:00   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Что-то вроде этого:

X++:
#define.xlPasteFormats(-4122)
private void copyLineFormat(SysExcelWorksheet _workSheet, int _fromRow, int _toRow)
{
    Com     rangeFrom, rangeTo;
    str     strRangeFrom, strRangeTo;

    strRangeFrom    = ComExcelDocument_RU::numToNameCell(#colItemId, _fromRow) + ":" + ComExcelDocument_RU::numToNameCell(endCol, _fromRow);
    strRangeTo      = ComExcelDocument_RU::numToNameCell(#colItemId, _toRow) + ":" + ComExcelDocument_RU::numToNameCell(endCol, _toRow);

    rangeFrom   = _workSheet.cells().range(strRangeFrom).comObject();
    rangeTo     = _workSheet.cells().range(strRangeTo).comObject();

    rangeFrom.Copy();
    rangeTo.PasteSpecial(#xlPasteFormats);

    rangeFrom.finalize();
    rangeTo.finalize();

}
Но это для одного и того же листа, далее доработать несложно. Только следует знать, как минимум две вещи:
1) Механизм тормозной;
2) В момент формирования отчета пользователь не может использовать накаким образом буфер обмена для других задач