|  11.11.2010, 13:04 | #1 | 
| Участник | Создание файла-xlsx (Excel 2007) из файла - xltx (шаблон Excel 2007) не работает 
			
			AX 3 SP3 Подскажите, господа, можно ли через BinData работать с excel 2007 также как и с excel 2003. Создаю jod: PHP код: 
			где _fromFile ="*.xltx" - полный путь к шаблону _toFile ="*.xlsx" - полный путь к новому файлу jod проходит, но файл не открывается. Однако если у него изменить расширение с xlsx на xls, то открывается | 
|  | 
|  11.11.2010, 13:17 | #2 | 
| Участник | 
			
			я думаю, что дело  в том, что 3-я акспата не поддерживает Office 2007 и соответственно формат xlsx.
		 
				__________________ С уважением, Александр. | 
|  | |
| За это сообщение автора поблагодарили: 111andrei (1). | |
|  11.11.2010, 17:57 | #3 | 
| Участник | 
			
			Есть большое подозрение, что Axapta тут не причем. С Office 2007 работает замечательно, как и с любым COM-объектом. Тут скорее вопрос в формате файла .xltx, а точнее его отличия от .xlsx. Попробуйте просто переименовать .xltx в .xlsx вручную, без Axapta. В итоге при открытии увидите ту же ошибку. Вызов BinData не преобразовывает файл из одного формата в другой, а делает точную копию (бинарную) и обзывает другим именем, т.е. то же что и при ручном переименовании. А если использовать связку Axapta-Office, например так: X++: COM                 m_comApplication;
    COM                 comWorkBooks;
    COMVariant          varTemlateName;
    COM                 m_comDocument;
    ;
    
   // bufferTransfer.loadFile(_fromFile);
   // bufferTransfer.saveFile(_toFile);
    m_comApplication = new COM("Excel.Application");
    comWorkBooks = m_comApplication.workBooks();
    varTemlateName = new  COMVariant(COMVariantInOut::IN, COMVariantType::VT_BSTR);
    varTemlateName.bStr(_fromFile);
    m_comDocument = comWorkBooks.add(varTemlateName);
    varTemlateName.finalize();
    comWorkBooks.finalize();
    m_comDocument.saveAs(_toFile);
    m_comDocument.Close();
    m_comDocument.finalize();
    m_comApplication.finalize(); | 
|  | |
| За это сообщение автора поблагодарили: 111andrei (1). | |