AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
CRM
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 23.01.2009, 13:10   #1  
Breeze ist offline
Breeze
Участник
 
19 / 10 (1) +
Registriert seit: 01.06.2007
Ort: Омск
Ошибка при сохранении документа в MS Excel
Доброго времени суток!

Помогите разобраться, в чем ошибка:

X++:
comDocument = new ComExcelDocument_RU();
comDocument.newFile("c:\\test.xlt", false);
 
...
 
comDocument.documentSaveAsFinal("c:\\test2.xls");
comDocument.quitApplication(true);
После этого пытаюсь открыть файл c:\test2.xls и получаю ошибку

Zitat:
The file you are trying to open, 'test2.xls', is in a different format than specified by the file extension
Что не так?
__________________
Step by step...
Alt 23.01.2009, 13:19   #2  
coolibin ist offline
coolibin
Участник
 
264 / 68 (3) ++++
Registriert seit: 07.04.2005
Не знаю, что там может быть с методом documentSaveAsFinal(), у меня такого нет, но то же самое, но с применением метода documentSaveAs() у меня работает замечательно.
Alt 23.01.2009, 13:24   #3  
Gustav ist offline
Gustav
Moderator
Benutzerbild von Gustav
SAP
Лучший по профессии 2009
 
1.858 / 1152 (42) ++++++++
Registriert seit: 24.01.2006
Ort: Санкт-Петербург
Blog-Einträge: 19
Текст самописного метода documentSaveAsFinal() - в студию!
Alt 23.01.2009, 13:39   #4  
Breeze ist offline
Breeze
Участник
 
19 / 10 (1) +
Registriert seit: 01.06.2007
Ort: Омск
Zitat:
Не знаю, что там может быть с методом documentSaveAsFinal(), у меня такого нет, но то же самое, но с применением метода documentSaveAs() у меня работает замечательно.
Если использовать documentSaveAs() ситуация та же

А вы точно шаблон используете? Может в нем дело???
__________________
Step by step...
Alt 23.01.2009, 14:18   #5  
coolibin ist offline
coolibin
Участник
 
264 / 68 (3) ++++
Registriert seit: 07.04.2005
Zitat:
Zitat von Breeze Beitrag anzeigen
Если использовать documentSaveAs() ситуация та же

А вы точно шаблон используете? Может в нем дело???
Да, шаблон. У вас сам шаблон-то точно открывается экселем?

ADD: И если "..." закомментарить, то работает?
Alt 23.01.2009, 14:35   #6  
Breeze ist offline
Breeze
Участник
 
19 / 10 (1) +
Registriert seit: 01.06.2007
Ort: Омск
Если не вызывать DocumentSaveAs(), а visible(true), то все чудесно, даже если я никаких данных не заполняю на листе. А вот при попытке сохранения, чего-то ломается.

На самом деле я сохраняю документ для того, чтобы потом этот файл добавить в архив *.rar.

Есть еще идеи?
__________________
Step by step...
Alt 23.01.2009, 14:47   #7  
_scorp_ ist offline
_scorp_
Участник
Benutzerbild von _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Registriert seit: 25.07.2007
Ort: Москва
оно?
Alt 23.01.2009, 14:52   #8  
petergunn ist offline
petergunn
Участник
 
118 / 279 (10) ++++++
Registriert seit: 30.08.2005
Ort: Tyumen
Zitat:
Zitat von Breeze Beitrag anzeigen
На самом деле я сохраняю документ для того, чтобы потом этот файл добавить в архив *.rar.
Есть еще идеи?
У Вас случаем не 2007 офис стоит? Если он то по умалчанию файл сохраняется в новом формате и расширение ему назначается xlsx ( а не xls - как вы явно пытаетесь указать)
Попробуйте сохранить без указания расширения:
X++:
comDocument.documentSaveAs("c:\\test2");
и посмотрите какое расширение файлу назначит Excel.
Alt 23.01.2009, 15:01   #9  
Breeze ist offline
Breeze
Участник
 
19 / 10 (1) +
Registriert seit: 01.06.2007
Ort: Омск
Вот, что получается:
несмотря на расширение *.xls, которое я задаю при сохранение, класс ComExcelDocument_RU сохраняет файл в версии MS Excel 2007. В этом можно убедиться, если поменять расширение полученного файла на *.xlsx

Как при сохранении указать и версию Excel? И вообще возможно ли это?
__________________
Step by step...
Alt 23.01.2009, 15:02   #10  
Breeze ist offline
Breeze
Участник
 
19 / 10 (1) +
Registriert seit: 01.06.2007
Ort: Омск
Вы правы, petergunn. Стоит и 2003, и 2007 MS Office
__________________
Step by step...
Alt 23.01.2009, 15:05   #11  
Breeze ist offline
Breeze
Участник
 
19 / 10 (1) +
Registriert seit: 01.06.2007
Ort: Омск
Т.о. можно не указывать расширение при сохранении документа, и файл будет создан по последней версии(в данном случае 2007).

А все таки можно как-то версию указывать принудительно? Office же позволяет при сохранении...
__________________
Step by step...
Alt 23.01.2009, 15:22   #12  
_scorp_ ist offline
_scorp_
Участник
Benutzerbild von _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Registriert seit: 25.07.2007
Ort: Москва
Пользуйтесь MSDN В этом методе правильно задайте параметр FileFormat

Geändert von _scorp_ (23.01.2009 um 15:29 Uhr)
Alt 23.01.2009, 15:23   #13  
petergunn ist offline
petergunn
Участник
 
118 / 279 (10) ++++++
Registriert seit: 30.08.2005
Ort: Tyumen
Zitat:
Zitat von Breeze Beitrag anzeigen
А все таки можно как-то версию указывать принудительно? Office же позволяет при сохранении...
Zitat:
51 = xlOpenXMLWorkbook (without macro's in 2007, xlsx)
52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007, xlsm)
50 = xlExcel12 (Excel Binary Workbook in 2007 with or without macro’s, xlsb)
56 = xlExcel8 (97-2003 format in Excel 2007, xls)
Если на скорую руку, то например так:
X++:
    COM  comObjectDocument ;
    #define.xlExcel8(56)
    ...
    comObjectDocument = comDocument.getComDocument() ;
    comObjectDocument.saveAs( "c:\\test", #xlExcel8 ) ;
    ...
This post has been rated by: AvrDen (1), PavelSR (1), decoder (1).
Alt 23.01.2009, 15:48   #14  
Breeze ist offline
Breeze
Участник
 
19 / 10 (1) +
Registriert seit: 01.06.2007
Ort: Омск
Можно также использовать функцию ComExcelDocument_RU::excelVersion()

Спасибо всем большое!!! Теперь все ок)))
__________________
Step by step...
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Шаблоны MS Word, MS Excel bobski DAX: Программирование 2 12.12.2008 14:35
Работа с Excel через COM и ошибка 0x800A03EC (Range.AutoFilter) gl00mie DAX: Программирование 15 30.03.2007 18:37
Ошибка Excel Dimitry DAX: Программирование 21 11.07.2005 09:39
Ошибка при сохранении поставщика Filip DAX: Функционал 19 24.02.2004 08:32
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 21:55 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.