Показать сообщение отдельно
Старый 09.06.2010, 11:40   #8  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Суть проблемы в том, что путь к шаблону в качестве 4-го параметра метода Add работает в семействе Sheets и почему-то не работает в семействе Worksheets (http://www.excelforum.com/excel-prog...-template.html).

Если вы пользуетесь классом ComExcelDocument_RU, то там для получения доступа к листу используется семейство Worksheets (comWorkSheets = m_comDocument.worksheets()), что, похоже, и порождает проблему.

Следующий джоб иллюстрирует эту особенность двух семейств:
X++:
static void job_TestSheetsAdd(Args _args)
{
    COM wbk     = SysExcelApplication::construct().workbooks().add().comObject();
    // COM sheets  = wbk.Worksheets();  // это не работает
    COM sheets  = wbk.Sheets();         // а это работает
    ;
    COM::createFromObject(wbk.Application()).Visible(true); // отобразим Excel
    sheets.Add(COMArgument::NoValue,COMArgument::NoValue,COMArgument::NoValue, @'C:\EmplMonthIncome.xlt');
}
За это сообщение автора поблагодарили: Roman777 (2).