v7: Неизвестный формат файла - программное открытие xlsx в Excel2003 #698993


#0 by Злопчинский
есть файлики *.xlsx есть Excel 2003 с сайта MS установлена конвертилка xlsx . Если открываю интерактивно - открывается эксель, появляется окошечко (макрос?) "выполняется преобразование файла" и все ок - файл открыт . если открываю программно . появлятся окошко эксельное по тиеацу "Неизвстный формат файла тралалаля" . что нужно дописать, чтобы открывалось и программно тоже...? спсб
#0 by Злопчинский
есть файлики *.xlsx есть Excel 2003 с сайта MS установлена конвертилка xlsx . Если открываю интерактивно - открывается эксель, появляется окошечко (макрос?) "выполняется преобразование файла" и все ок - файл открыт . если открываю программно . появлятся окошко эксельное по тиеацу "Неизвстный формат файла тралалаля" . что нужно дописать, чтобы открывалось и программно тоже...? спсб
#1 by Злопчинский
Пока стоп. Фигня какая-то...
#2 by Злопчинский
Снова вопрос - описано в ???
#3 by AcaGost
Вопрос! Почему колесо от Камаза не подходит по креплению на Запорожец?
#4 by Попытка1С
Так может новый офис поставить и не мучится?
#5 by Злопчинский
не покатит. лиценизий нет - раз, новый офис на Server 2003 - не факт что встанет
#7 by Попытка1С
Встанет, у меня стоит. Ну если лицехи нету тоды ой)
#8 by AcaGost
Не воруй - посадють!
#9 by AlexYurg
Йоксель пробовал?
#10 by Злопчинский
не открывает
#11 by Злопчинский
2013 офис станет на сервак 2003 нормально?
#12 by Злопчинский
блин как все раком-то с этими экселями всегда
#13 by Попытка1С
Ну чтобы поиметь xlsx достаточно поставиь к примеру 2007 офис, который у меня и стоит на 2003 серваке, 2013 я не не ставил ибо нафиг не надо.
#14 by ildary
Если в файле есть макросы (xlsm), то лучше пересохранять без них (не помню причину, но пришлось отказаться), xlsx - без проблем грузится на win2003 с Office2003 (ADO и OLE). Советую попробовать искать причину в 1С.
#15 by ildary
+ как вариант - проверить, работает ли обработка с админскими правами, также стоит проверить настройки безопасности Excel (если файл скачан из интернета - у него может стоять флаг запрета открытия.
#16 by ildary
Excel - конфетка по сравнению с тем же pdf (вот где ад).
#17 by Torquader
Конвертер запускается из командной строки - просто конвертишь файл, а потом кормишь в OLE.
#18 by Злопчинский
права админские. интерактивно - ок. программно - см. - код на открытие всего 3 оператора.
#19 by Злопчинский
и как его запустить из командной строки...?
#20 by ildary
Еще стоит попробовать самому создать файл XLSX и проверить как он откроется через OLE - я сталкивался с реально битыми файлами, но они ругались на глюки при интерактивном открытии, а программно - без проблем.
#21 by Torquader
Он на xlsx должен быть в реестре прописан.
#22 by Злопчинский
это конечно идея... только ща под рукой сохранялки в xlsx нет.???
#23 by ildary
если есть Office 2003 с конвертером, то он умеет сохранять файлы в XLSX.
#24 by Torquader
Подтверждаю - умеет.
#25 by ildary
+ При сохранении в самом конце списка типов файлов будет Книга Excel 2007.
#26 by ildary
Ну или вот файл, созданный в MSO2010:
#27 by ildary
+ у меня этот файл открылся и через ADO и через OLE (создан в MSO 2010, открывал в MSO 2003).
#28 by Злопчинский
позырили вместе с сисадмином - нету у меня в типах файлов возможности сохранить в xlxs
#29 by Злопчинский
как бы мы не нашли...
#30 by ildary
тогда я не верю, что вы ставили конвертер. Конвертер в MSO 2003 дает возможность и читать и писать. Идея - поставьте его повторно - может он настройки повредил?
#31 by Torquader
Ставь ещё раз.
#32 by Злопчинский
это сейчас подправим, бо на локальнйо машине - ок.
#33 by Злопчинский
хз.. конвертер переустановили - пофиг... нету.. на сервере 2003...
#34 by ildary
ну я послал в файл - попробуйте открыть его (макросов нет).
#35 by Злопчинский
угу, ща на нем тренироваться буду
#36 by ildary
что-то мне подсказывает, что дело в настройках MSO. Я бы сделал так - вечером сделал бы копию системного диска на сервере и сделал полный сброс настроек MSO у администратора, после чего бы переустановил бы конвертер.
#38 by Злопчинский
снесли конфертер - не открывает. установили конвертер - открывает xlsx, но в списке сохранеямых - форматат нет...
#40 by ildary
Листали список типов файлов до конца? Искомое - предпоследнее (а список - длинный).
#41 by ildary
зачем RTF? Как его потом читать?
#43 by ildary
а смысл читать глазами в вордпаде, когда задача - открыть файл в 1С программно?
#44 by Torquader
Ну, rtf можно читать как обычный текст, только нужно ли ? xlsx тоже можно читать, как обычный текст в zip-файле.
#45 by Злопчинский
нетути.. зырили поотдельности вдвоем с сисадимином
#46 by Злопчинский
- тот же самый вариант - не проходит, ругается на неизвестный формат файла
#47 by Torquader
Система какая ?
#48 by Torquader
Насколько я помню Convert.exe ИмяФайла.xlsx ИмяФайла.xls позволяет выполнить преобразование.
#49 by Злопчинский
win server 2003R2
#50 by Злопчинский
у нас эта хрень называется moc.exe ???
#51 by Torquader
Ну вот её и запускай.
#52 by Злопчинский
я так попробовал, но он блин кидае в какой-то темповый каталог и открывает эксель.. чего мне не надо
#53 by Torquader
На сервер, стати, программа ставится в специальном режиме установки, чтобы она пользователям прописались.
#54 by Злопчинский
а как в таком режиме ставить..?
#55 by Torquader
Через control.exe установка программ.
#56 by Злопчинский
шутку с конверт.экзк - заценил - утилита преобразования файловой системы.. ;-0
#57 by Вах 1-й
ты пока трезвый, скажи завтра будет ЗЫ нуегона непонятно с кем ночевать
#58 by Злопчинский
а кинуть мну на почту e.meil@mail.ru собственно уже экзешник конверетера?
#59 by Torquader
Блин его excelcnv вроде бы зовут.
#60 by Torquader
#61 by Злопчинский
посмотрел. заморочено. excelcnv конвертит криво - что и написано по ссылке, дальнейшие разборки с MOICE - как там внизу написано - офигеть блин... MOICE без центра обновлени яне ставится... херня какая-то блин капец для решени япроблемы
#62 by Злопчинский
.короче - поставил задачу сисадмину...
#63 by Torquader
В общем - ж.о.п.а. Я его поставил, настроил - это убожество сконвертило файл xlsx в xls, но внутри всё равно формат xlsx - и, говорят, что это не лечится. Предлагается посмотреть в сторону OpenOffice.
#64 by Злопчинский
а то... ;-) пока - фиг с ним. надо будет все равно "причесывать" загрузку заявок, приводить к единому формату... жпс.. клиента чтобы в простом экселе 2003 сохранил - этож КЛИЕНАТ НАПРЯЧЬ НАДО... да и там тоже зачастую не сильно продвинутые люди... . замучу под это дело или обмен по еди со всеми клиентами (но там же блин платно!0 илди свой сайт-прием заявок. . или пусть девки вручную конвертят.
#65 by Torquader
В общем, из командной строки я пока только узнал, что MOC.EXE -f Файл.xlsx вызывает диалог сохранения файла в старом формате.
#66 by Злопчинский
В прицнипе, спасла бы эта фигня . но не удалось ее подключить в 7-ку... в примере для 8-ки - 3 параметра в ПодключитьВнешнююКомпоненту, а в клюшках - всего один... . можно конечно еще извернуться как зип разобрать - у того же абадонны есть пример
#67 by Злопчинский
по MOC - описание ключей сисадмин порылся - инфы вообще нет
#68 by Злопчинский
это хорошо! но блин в терминале при входе сразу запускается 1ска и вопросы сторонних программ даже если я запущу командную строку из 1с - не факт что вылезут на передний экран - так бы в принципе спасло
#69 by Злопчинский
еще бы туда подсунуть ключ итипа YES! (для автожмака "Сохранить")
#70 by Torquader
В общем, если в теле MOC.EXE покопаться, то оно ест только ключ -f, так как других с минусом просто не нашёл.
#71 by Torquader
Кстати, если ему передавать только имя файла, то он его преобразует и открывает Excel - сам. Так что можно попробовать потом эту Excel поймать или переопределить в реестре, кого открывать.
#72 by Злопчинский
да, можно, сделать типа moc1.exe и прописать для него цепочку вызова итоговой программы для открытия - типа батника - он получает полный путь темпового файла и перекидывает куда надо... - и уже получается кузяво...
#73 by ildary
а мы кстати обсуждаем конвертилку и говорим о разных вещах - я говорил про FileFormatConverters.exe, а вы про что-то другое? moc какой-то...
#74 by Злопчинский
FileFormatConverters.exe - сам по себе ничего не конвертит, это всего лишь инсталлятор
#75 by Voronve
Смотри чо буржуи пищут Opens a workbook. Syntax 4 параметр с конца ... Converter The index of the first file converter to try when opening the file. The specified file converter is tried first; if this converter doesn’t recognize the file, all other converters are tried. The converter index consists of the row numbers of the converters returned by the FileConverters property. Это правда от 2010 Excel
#76 by Jonny_Khomich
через ADO грузи
#77 by Torquader
Это чудо ставит это "умный" moc.exe У меня, правда, возникла идея, что если в отладчике поймать вызов GetOpenFileName и просто закоментировать его, чтобы система перешла сразу на следующую функцию (но там ещё и проверку на ответ Cancel нужно отключить), то всё получится. Другое дело, что так задачи не решаются.
#78 by Torquader
Я его "сделал". В общем - берётся moc.exe и делается маленькая замена: Сравнение файлов Moc.exe и MOC1.EXE 000027A0: FF 58 И вместо открытия диалога она просто сразу переходит к сохранению файла согласно заполненной структуре для OPENFILENAME. Новый файл получается в той же директории, что и старый. Передавать желательно с полным путём.
#79 by Torquader
С Word-ом, он, кстати, делает тоже самое. P.S. для любителей отладки предлагается бонусная игра - выпиливание MsgBox с именем файла после успешного сохранения. Удачи.
#80 by ЧеловекДуши
Молодец! :)
#81 by Jaap Vduul
Насколько помню (сейчас mso2k3 под рукой нет), если после создания excel.application запустить "moc.exe путькфайлу.xlsx", то после этого нужная книга появляется в коллекции workbooks. Единственно, нужно дождаться пока конвертер отработает.
#82 by b159263
На самом деле файлы мс офиса xlsx представляют собой zip архив, так называемые файлы OPC (open packaging conventions). Из них можно вытащить информацию напрямую, минуя MS Office.
#83 by DrZombi
Не все так просто :)
#84 by Torquader
Причём, их можно как каталог xml-файлов рассматривать. UnZip, насколько я помню, в 1С есть встроенный - можно попробовать.
#85 by b159263
(+82)
#86 by Torquader
Я думаю, проще, чем MOC отлаживать.
#87 by b159263
Все очень просто, надо спецификацию формата почитать и все...
#88 by Torquader
В мире программирования вообще ничего сложного нет, нужно только уметь читать документацию (ну и нужно, чтобы в документации про подводные камни что-то писали).
#89 by b159263
Народ кто схемы (XSD) MS Office найдет, скинте сюда. :)
#90 by b159263
Не дай Бог!!! Нас всех выгонют... Побольше камней и багов... "Главное знать на реке все мели"...
#91 by Torquader
Ну, если всех выгонят - то пусть тогда сразу на деревья обратно залазят и жрут кокосы.
#92 by Torquader
Кстати - что-нить взлетело - или так и бросили недоматросив ?
#93 by Злопчинский
это вы мну?
#94 by Torquader
Ну а кому ещё ? Мне же интересно, что там получилось.
#95 by Злопчинский
я не понял - по приведенным адресам в moc.exe прописать указанные батйики?
#96 by Злопчинский
а что там могло получиться...? либо гемор либо ручная работа, либо попытки разобраться с другим гемором. При том объеме заявок что уменя есть - ручная переконвертация - еще терпима.
#97 by Torquader
Ну да - если там то, что написано, то смело меняем - и диалог не появляется. Только ещё остаётся окно MessageBox, но его я потом поймаю - если этот "механизм" поможет. А вообще, мне кажется, что Excel, всё-таки, должен уметь открывать сам.
#98 by Злопчинский
если подправка moc - решит вопрос конвератции в той же папке с передачей полного пути - то вполне устроит.
#99 by Злопчинский
нифига не понял "..если там то, что написано, то смело меняем" - что искать? - на что менять? . или тупо в результате по приведенным адресам обеспечить приведенные значения?
#100 by Torquader
Кстати, он из другой папки локально прекрасно запускается. А окошко - на следующей неделе выпилю, если время будет - я тут немного приболел - поэтому, как-то, в отладчике не копается.
#101 by Злопчинский
чтение их xlsx как из зазиповоного XML
#102 by Torquader
Делаешь копию файла. Открываешь его в hiew.exe Если по адресу 27A0 видишь FF 15 74 11 00 30 то меняешь на 58 33 с0 40 85 с0 Реально там вызов функции из dll, который превращается в pop eax и set eax в не ноль.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С