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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.06.2010, 09:37   #1  
Serg is offline
Serg
Участник
 
118 / 35 (2) +++
Регистрация: 12.02.2002
а как задать range в формате RC...Все перепробывал и R1C1:R2C2, 1:1,2:2 и 1:1;2:2...?
Старый 11.06.2010, 11:01   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Serg Посмотреть сообщение
а как задать range в формате RC...Все перепробывал и R1C1:R2C2, 1:1,2:2 и 1:1;2:2...?
А в Spreadsheet, по-моему, нотация R1C1 не поддерживается... А цель какая? Если нужно перебирать в цикле, то можно Range.Cells(i, j) использовать. А если формулу в диапазон вставить, то просто задаете формулу в нотации A1 для первой ячейки, т.е. как если бы только в одну ячейку вводили. При этом для других ячеек диапазона формула корректно настроится автоматически, например, Range("B1:B10").Formula = "=A1" даст формулу =А1 в ячейке B1 и формулу =A10 в ячейке B10.
Старый 11.06.2010, 11:30   #3  
Serg is offline
Serg
Участник
 
118 / 35 (2) +++
Регистрация: 12.02.2002
Проблема в том, что бы определить этот range, а он динамический т.е. на входе есть значения типа координат 1:1 до 100:100
Старый 11.06.2010, 12:13   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Как-то так? Выделяется 10 первых строк:
X++:
{
    Form                form = new Form();
    Args                args = new Args();
    FormRun             formRun;
    FormActiveXControl  ss;

    COM                 worksheet;
    COM                 range;
    COM                 cells;
    ;

    form.addDesign('Design');
    args.object(form);

    formRun = classFactory.formRunClass(args);
    formRun.init();
    formRun.design().caption('Табличный процессор');

    ss = formRun.design().addControl(FormControlType::ActiveX, 'Spreadsheet');
    ss.className('{0002E541-0000-0000-C000-000000000046}');     // Microsoft Office Spreadsheet 10.0
    //ss.className('{0002E559-0000-0000-C000-000000000046}');   // Microsoft Office Spreadsheet 11.0

    ss.heightMode(FormHeight::ColumnHeight);
    ss.widthMode(FormWidth::ColumnWidth);

    range = ss.Range("A1");
    worksheet = range.Parent();
    cells = worksheet.Cells();
    range = ss.Range(cells.Item(1,1),cells.Item(10,10)); // ЭТО???
    range = range.EntireRow();
    box::info(range.Address(true,true,-4150)); // R1:R10
    range.Select();

    formRun.run();
    formRun.wait();
}
За это сообщение автора поблагодарили: Serg (1).
Старый 17.06.2010, 10:26   #5  
Serg is offline
Serg
Участник
 
118 / 35 (2) +++
Регистрация: 12.02.2002
ок, все помогло.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
aEremenko: Как обнаружить какой пользователь загружает процессор AOS? Blog bot DAX Blogs 4 23.12.2008 12:06
Табличный Mapping - список используеиых таблиц db DAX: Программирование 6 30.06.2004 10:40

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

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

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