Вход | Регистрация

1С:Предприятие ::

Метки: 

Обработка Excel файла

Я
   Cancell
 
06.09.18 - 11:47
Всем доброго дня, помогите с проблемкой:

Формирую прайс, сохраняю его в эксель - 
        ТабДок.Записать(ПутьКФайлуВыгрузки,ТипФайлаТабличногоДокумента.XLSX);

После этого его заново открываю и обрабатываю

    //Создаем подключение к Excel

    Попытка
        Excel = Новый COMОбъект("Excel.Application"); 
    Исключение  
        Сообщить("MS Excel не установлен на компьютере!",10); 
        Возврат; 
    КонецПопытки;
    
    //Открываем файл

    Если Не ПроверитьСуществованиеФайла(Путь) Тогда
        Сообщить("Невозможно открыть файл, проверьте наличие файла по указанному пути!");
        Возврат;
    КонецЕсли;
    
    Excel.Workbooks.Open(Путь); 
    
    //Открываем активную книгу

    Книга = Excel.ActiveWorkbook;    
    
    СтраницаСНоменклатурой = Excel.Sheets(1);

провожу манипуляции с ячейками и сохраняю - 

        Книга.SaveAs(Путь,-4143); 

но при открытии эксель ругается - 
"не удалось открыть файл 111.xlsx так как формат или расширение этого файла являются недопустимыми. Убедитесь, что файл не поврежден и расширение его имени соответствует формату.

В чем проблема? Причем до обработки он открывается нормально, что-то происходит с ним когда я его открываю для обработки и сохраняю... пробовал даже убирать все своим манипуляции с ячейками и просто открывал и сохранял.
 
 
   Cancell
 
1 - 06.09.18 - 11:54
Если работать с XLS то падает на

Книга.SaveAs(Путь,-4143); 

с ошибкой

{ВнешняяОбработка.ФормированиеПрайса.Форма.ФормаУправляемая.Форма(2916)}: Ошибка при вызове метода контекста (SaveAs): Произошла исключительная ситуация (Microsoft Excel): Документ не сохранен.
   Chikko
 
2 - 06.09.18 - 12:02
Попробуй 1) Убрать формат -4143 2) используй просто save, зачем сейв эс и тот же файл?
   Cancell
 
3 - 06.09.18 - 12:08
(2) та же фигня
   {ВнешняяОбработка.ФормированиеПрайса.Форма.ФормаУправляемая.Форма(2917)}: Ошибка при вызове метода контекста (Save): Произошла исключительная ситуация (Microsoft Excel): Документ не сохранен.
   MaxS
 
4 - 06.09.18 - 12:13
А что за манипуляции с ячейками? Готовый файл не используя Excel, в 1С-е нельзя создавать?
   catena
 
5 - 06.09.18 - 12:14
xlsx и -4143 не конфликтуют?
   shadow_sw
 
6 - 06.09.18 - 12:18
сделай просто Книга.Save;
   shadow_sw
 
7 - 06.09.18 - 12:18
Save(); ошибка в (6)
   Cancell
 
8 - 06.09.18 - 12:35
(4) формулы, ссылки, защита... но даже если их комментирую а простооткрываю и сохраняю то ошибка
   Cancell
 
9 - 06.09.18 - 12:36
(5) нет, но файл потом не открывается

"не удалось открыть файл 111.xlsx так как формат или расширение этого файла являются недопустимыми. Убедитесь, что файл не поврежден и расширение его имени соответствует формату.
   catena
 
10 - 06.09.18 - 12:40
(9)По-вашему это совсем не похоже на конфликт?
 
 Рекламное место пустует
   Малыш Джон
 
11 - 06.09.18 - 12:46
(0) видимо как-то хреново он у тебя его сохраняет.

Если просто создать файл и потом в экселе его открыть, он откроется?
   Вафель
 
12 - 06.09.18 - 12:46
а если просто открыть в екселе сохраненный файл?
   Cancell
 
13 - 06.09.18 - 13:07
если после 

ТабДок.Записать(ПутьКФайлуВыгрузки,ТипФайлаТабличногоДокумента.XLSX);

то файл открывается нормально, а после открытия через комобъект и сохранения уже не открывается
   Cancell
 
14 - 06.09.18 - 13:08
(10) если включить алерты то есть сообщение что формат не соответствует и предлает сохранить в xls, но в итоге не сохраняет нормально.
   catena
 
15 - 06.09.18 - 13:35
(14)Зачем там вообще второй параметр? И что говорит простой Save() без параметров?
   Garykom
 
16 - 06.09.18 - 13:41
"ТабДок.Записать(ПутьКФайлуВыгрузки,ТипФайлаТабличногоДокумента.XLSX);" - держит файл часто до закрытия сеанса 1С

При открытии через OLE Excel и записи получаются глюки.
   Garykom
 
17 - 06.09.18 - 13:42
(16)+ Делай копирование+переименование файла после записи из ТабДок и перед открытием Excel.
   Garykom
 
18 - 06.09.18 - 13:43
Другой вариант какие то нестыковки с форматами/версиями Excel'я и xls(x)
   ptiz
 
19 - 06.09.18 - 13:56
(9) см.5
https://msdn.microsoft.com/ru-ru/vba/excel-vba/articles/xlfileformat-enumeration-excel
Откуда такое упорство сохранять в формате xlWorkbookNormal (т.е. xls), но с расширением xlsx ?
   Cancell
 
20 - 06.09.18 - 15:18
(19) СПАСИБО БОЛЬШОЕ!
Вот где собака порылась :)
В итоге табдок сохраняю в XLSX а потом после обработки файла делаю - Книга.SaveAs(Путь,51);


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует