Показать сообщение отдельно
Старый 25.11.2004, 13:43   #9  
chi is offline
chi
Участник
 
80 / 13 (1) ++
Регистрация: 21.01.2004
Office XP / Microsoft Office Spreadsheet 10.0

Проект выложить не могу.

Вот метод, который делает группировку для Spreadsheet:

X++:
void groupRows(int   _fromRow, int   _toRow)
{
    COM         range;
    ;
    range = comObject.Range(strFmt("%1:%2", _fromRow, _toRow));
    range.select();
    range.group();
}
Здесь, comObject = ActiveX.Application();


А вот тот же метод, но для Excel (работает в классе COMExcelDocument_RU):

X++:
void groupRows(int _fromRow, int _toRow, int _WorkSheet = 1)
{
    COM         comRows;
    ;
    if (! m_comDocument)
        throw error(strFmt("@DIS6401", this.getApplicationName()));

    comRow = this.findRange(strFmt("%1:%2", _fromRow, _toRow), _WorkSheet);
    comRow.select();
    comRow.group();
}
Причем первый вариант также робит, если ему Excel вместо Spreadsheet'а скормить.

ЗЫ: Как оформлять код на форуме - не знаю. Поэтому запихнул as is.