Показать сообщение отдельно
Старый 13.10.2008, 21:21   #13  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
:)
Вопрос немного усложнился.
Объединены ячейки 3 шт. Общей ячейке задано имя 'test'.
при использовании
X++:
void copyAndInsertBlock(str _bookMark, int _workSheet = 1)
{  #define.xlShiftDown(-4121)
    COM         comRange, comRange1;
    int         rowsNumber;
    ;

    if (! m_comDocument)
        throw error(strFmt("@DIS6401", this.getApplicationName()));

    comRange = this.findRange(_bookMark, _workSheet);
    if (! comRange)
    {
        return;
    }

    rowsNumber = any2int(COM::createFromObject( comRange.Rows() ).Count());

    comRange.Insert( #xlShiftDown );  // и выше добавить: #define.xlShiftDown(-4121)
    comRange1 = comRange.Offset(-rowsNumber);
    comRange.Copy(comRange1);
}
при вставки объединенной ячейки появляется сообщение "Данная операция приведет к отмене объединения ячеек" т.е. ниже в файле Excel есть объединенные ячейки. Объединение с них снимается и в итоге данные передаваемые в именованную ячейку вставляются не в 3-ную объединенную, а самую первую. А две остальных даже не копируются вниз.

Как сделать так чтоб можно было копировать и дублировать именованную ячейку без потери объединения?