![]() |
#1 |
Axapta Retail User
|
Переместить лист Excel
Подскажите как переместить лист в конец книги.
comWorkSheet.move(); перемещает в другую книгу. |
|
![]() |
#2 |
Axapta Retail User
|
Пробую так :
comWorkSheet = m_comDocument.getWorkSheet(_workSheet); comWorkSheetAfter = comWorkSheets.item(_after); comWorkSheet.move(dummy, comWorkSheetAfter); Ругается на item() -( |
|
![]() |
#3 |
MCTS
|
Попробуйте так:
X++: COM comWorkSheet = this.getWorkSheet(_workSheet); COM comWorkSheetBefore = this.getWorkSheet(_before); comWorkSheet.move(comWorkSheetBefore); |
|
![]() |
#4 |
Участник
|
Как уже недонократно указывалось, любые параметры в Com-объекты желательно оборачивать в ComVariant().
Попробуйте так X++: COM workSheets; int totalSheets; COM workSheetLast; COM workSheetForMove; workSheets = m_comDocument.worksheets(); totalSheets = workSheets.count(); workSheetLast = workSheets.Item(ComVariant::createFromInt(totalSheets)); workSheetForMove = workSheets.Item(ComVariant::createFromInt(1)); workSheetForMove.move(null, workSheetLast); |
|
![]() |
#5 |
Axapta Retail User
|
Цитата:
COM comWorkSheet = this.getWorkSheet(_workSheet);
COM comWorkSheetBefore = this.getWorkSheet(_before); comWorkSheet.move(comWorkSheetBefore); |
|
![]() |
#6 |
Moderator
|
|
|
![]() |
#7 |
Axapta Retail User
|
Цитата:
Попробуйте так
X++: COM workSheets; int totalSheets; COM workSheetLast; COM workSheetForMove; workSheets = m_comDocument.worksheets(); totalSheets = workSheets.count(); workSheetLast = workSheets.Item(ComVariant::createFromInt(totalSheets)); workSheetForMove = workSheets.Item(ComVariant::createFromInt(1)); workSheetForMove.move(null, workSheetLast); Метод move() вызван с неправильными параметрами. |
|
![]() |
#8 |
Участник
|
Цитата:
![]() X++: COM workSheets; int totalSheets; COM workSheetLast; COM workSheetForMove; COMVariant dummy; ; workSheets = m_comDocument.worksheets(); totalSheets = workSheets.count(); workSheetLast = workSheets.Item(ComVariant::createFromInt(totalSheets)); // Предполагаю, что перемещаем первый лист workSheetForMove = workSheets.Item(ComVariant::createFromInt(1)); dummy = new COMVariant(); dummy.noValue() workSheetForMove.move(dummy, workSheetLast); // Или можно так //workSheetForMove.move(COMArgument::NoValue, workSheetLast); |
|
|
За это сообщение автора поблагодарили: novic (1). |
Теги |
excel |
|
|