Показать сообщение отдельно
Старый 10.05.2012, 19:28   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Deepoint Посмотреть сообщение
Нашел на просторах.
X++:
static void CreateExcelFile(Args _args)
{
    SysExcelApplication sysExcelApplication;
    SysExcelWorkbooks   sysExcelWorkbooks;
    SysExcelWorkbook    sysExcelWorkbook;
    SysExcelWorksheet   sysExcelWorksheet;
    SysExcelRange       sysExcelRange;
    COM range;
    COM characters;
    ;
 
    sysExcelApplication = SysExcelApplication::construct();
    sysExcelApplication.visible(true);
    sysExcelWorkbooks = sysExcelApplication.workbooks();
    sysExcelWorkbook = sysExcelWorkbooks.add();
    sysExcelWorksheet = sysExcelApplication.activeSheet();
    sysExcelRange = sysExcelWorksheet.range('A1');
    range = sysExcelRange.comObject();
    characters = range.characters(1);
    characters.insert('Test');
}
Давненько (http://www.axforum.info/forums/blog.php?b=60) люблю такую короткую (по кол-ву строк) конструкцию для создания нового, еще несохраненного, файла Excel:
X++:
{
    COM rng = SysExcelApplication::construct().workbooks().add().worksheets().itemFromNum(1).range('A1').comObject();
    ;
    rng.Value2('Test');
    COM::createFromObject(rng.Application()).Visible(true);
}
Меньше трех операторов у меня не получалось. И в данном случае прямо раздражает, что файл по умолчанию создается с Visible = false - целый оператор приходится тратить!
За это сообщение автора поблагодарили: Deepoint (1).