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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.12.2008, 12:08   #1  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Вай шайтан, заработало, точка с запято, почему-то не с первого раза, видимо поняла что упираться безсмыслено, всем спасибо!
Старый 17.12.2008, 12:16   #2  
petergunn is offline
petergunn
Участник
 
118 / 274 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
Цитата:
Сообщение от MironovI Посмотреть сообщение
Вай шайтан, заработало, точка с запято, почему-то не с первого раза, видимо поняла что упираться безсмыслено, всем спасибо!
Все же рекомендовал бы не ориентироваться на символ ";" в коде, а считывать его предварительно ( через WinAPI::getLocaleInfo( #LOCALE_SYSTEM_DEFAULT, #LOCALE_SLIST ) или .NET ) из настроек Windows.
Иначе можете получить код, который не будет работать на тех ПК настройки которых отличны от ";".
Старый 17.12.2008, 12:31   #3  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Да, эт я понял.
PS Я понял почму у меня не работало - корректно работает тольо с короткими строками, насколько кроткими не проверял, но вот на такой уже сыпется

"6:10;12:16;18:22;24:28;30:34;36:40;42:46;48:52;54:58;60:64;66:70;72:76;78:82;84:88;90:94;96:100;102:106;108:112;114:118;120:124;126:130;132:136;138:142;144:148;150:154;156:160;162:166;168:172;174:178;180:184;186:190;192:196;198:202;204:208;210:214;216:220;222:226;228:232;234:238;240:244"

а щассе было так возможно.. придется дробить видимо..
Старый 17.12.2008, 12:40   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Дозвольте со своим пятаком влезть. Существует более человеческий способ объединения диапазонов - методом Union объекта Excel.Application. Его выгодное преимущество - он не зависит от капризов региональных настроек:
X++:
static void Job120(Args _args)
{
    ComExcelDocument_RU doc = new ComExcelDocument_RU();

    COM     xlApp;
    COM     wbook;
    COM     activeSheet;
    COM     range;
    ;

    doc.NewFile();
    wbook = doc.getComDocument();

    xlApp = wbook.Parent();
    activeSheet = xlApp.ActiveSheet();

    range = activeSheet.Range('7:10');
    range = xlApp.Union(range, activeSheet.Range('13:16'));
    range = xlApp.Union(range, activeSheet.Range('23:26'));
    range = xlApp.Union(range, activeSheet.Range('33:36'));

    range.Select();
}
Старый 17.12.2008, 13:00   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от MironovI Посмотреть сообщение
корректно работает тольо с короткими строками, насколько кроткими не проверял, но вот на такой уже сыпется

"6:10;12:16;18:22;24:28;30:34;36:40;42:46;48:52;54:58;60:64;66:70;72:76; 78:82;84:88;90:94;96:100;102:106;108:112;114:118;120:124;126:130;132:136;138:142;144:148; 150:154;156:160;162:166;168:172;174:178;180:184;186:190;192:196;198:202;204:208;210:214;216:220;222:226;228:232;234:238;240:244"
На ум приходит ограничение для функций Excel в 30 аргументов. Наверное, тут действуют те же принципы. А в этой строке их 40.

Про 30 аргументов можно увидеть, например, в окне отладки Excel, введя:

Application.WorksheetFunction.Sum(

при этом в качестве подсказки высветится список аргументов, последний из которых будет Arg30.


P.S. Впрочем, пишут, что в Excel 2007 "Максимальное число аргументов функции увеличилось с 30 до 255."

http://msdn.microsoft.com/ru-ru/library/aa730920.aspx
За это сообщение автора поблагодарили: MironovI (2).
Старый 17.12.2008, 13:22   #6  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Да,цивилизованный метод рулит

PS правда поскорости сливает.. жость..
лан, пища есть- бум переваривать..

Последний раз редактировалось MironovI; 17.12.2008 в 13:34.
Старый 17.12.2008, 14:44   #7  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,160 / 1289 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Поискал, нет примера вариантного массива в аксе.
Кстати, а зачем нужно программно выполнять такую задачу? Мы в свое время делали это для построения диаграмм. Какие еще задачи требуют этого?
Старый 17.12.2008, 14:48   #8  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Задался целю копировать формат секции отчета сразу на диапазон ячеек (именно форматирование - специальой вставкой) Т.е. данные в отчет выводятся скопом через ADO или буфер обмена, а стиль накладывается сверху. Поскольку секция строк прерывается секцией групп - зпоминаю все диапозоны в отчете и разом к ним применяю формат секции.
Вобщем пока что остановился на варианте - строка через точку с запятой, но по 30 значений (дапазонов) в цикле форматирую.

Последний раз редактировалось Gustav; 19.12.2008 в 09:15. Причина: первоначально из-за опечатки было написано ДДЕ (вместо ADO)
Старый 23.12.2016, 14:55   #9  
AFT is offline
AFT
Участник
 
3 / 10 (1) +
Регистрация: 23.12.2016
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Поискал, нет примера вариантного массива в аксе.
Кстати, а зачем нужно программно выполнять такую задачу? Мы в свое время делали это для построения диаграмм. Какие еще задачи требуют этого?
задача обновить прайс,хаотично вытащить 1500 позиций ,вставив их на другой лист

Последний раз редактировалось AFT; 23.12.2016 в 15:03.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
gl00mie: Read Excel table via ADO Blog bot DAX Blogs 2 09.04.2010 08:32
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Вызов Item() для коллекций Excel Владимир Максимов DAX: Программирование 15 17.08.2006 19:47
Как выделить все записи в гриде скопировать и отправить в Excel??? velk DAX: Программирование 36 22.12.2005 14:35

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:48.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.