![]() |
#25 |
Moderator
|
Да уже всё распутано, вроде. Глаза постом выше поднимите
![]() if (comRange.MergeCells()) перед Insert надо поставить и не comRangeОдин, а просто comRange там - идёт преобразование comRange по ходу. Вот ваш метод: 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; } if (comRange.MergeCells()) { comRange = comRange.Range('A1'); comRange = comRange.MergeArea(); } rowsNumber = any2int(COM::createFromObject( comRange.Rows() ).Count()); comRange.Insert( #xlShiftDown ); // и выше добавить: #define.xlShiftDown(-4121) comRange1 = comRange.Offset(-rowsNumber); comRange.Copy(comRange1); } |
|
|
За это сообщение автора поблагодарили: gl00mie (5). |
Теги |
excel, документация, как правильно, ax3.0 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|