AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.07.2010, 13:20   #1  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Переместить лист Excel
Подскажите как переместить лист в конец книги.

comWorkSheet.move(); перемещает в другую книгу.
Старый 01.07.2010, 13:34   #2  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Пробую так :

comWorkSheet = m_comDocument.getWorkSheet(_workSheet);
comWorkSheetAfter = comWorkSheets.item(_after);

comWorkSheet.move(dummy, comWorkSheetAfter);

Ругается на item() -(
Старый 01.07.2010, 14:16   #3  
IvanOFF is offline
IvanOFF
MCTS
MCBMSS
 
65 / 87 (3) ++++
Регистрация: 22.09.2005
Адрес: Москва
Попробуйте так:

X++:
COM     comWorkSheet        = this.getWorkSheet(_workSheet);
COM     comWorkSheetBefore  = this.getWorkSheet(_before);

comWorkSheet.move(comWorkSheetBefore);
Старый 01.07.2010, 14:56   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Как уже недонократно указывалось, любые параметры в 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);
Да, в соответствии с HELP, если не указан ни один из 2 параметров (befor или after), то метод move() создает новую книгу.
Старый 01.07.2010, 15:27   #5  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Цитата:
COM comWorkSheet = this.getWorkSheet(_workSheet);
COM comWorkSheetBefore = this.getWorkSheet(_before);

comWorkSheet.move(comWorkSheetBefore);
Так попробовал. вставляет , но перед последним листом, а хотелось бы последним.
Старый 01.07.2010, 16:16   #7  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Цитата:
Попробуйте так

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() вызван с неправильными параметрами.

Старый 01.07.2010, 19:51   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от novic Посмотреть сообщение
Так тоже попробовал - падает с ошибкой :
Метод move() вызван с неправильными параметрами.
Да. Сам же не следую своим же собственным светам Значение null надо тоже обернуть в ComVariant

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

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
emeadaxsupport: Cost accounting journal excel import dialog fails to appear COSExcelImport Blog bot DAX Blogs 0 29.05.2010 03:18
emeadaxsupport: How does the Export to Excel feature work under the hood? Blog bot DAX Blogs 0 07.09.2009 19:05
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Вызов Item() для коллекций Excel Владимир Максимов DAX: Программирование 15 17.08.2006 19:47

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:39.