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

Как дождаться освобождения файла Вордом?

Как дождаться освобождения файла Вордом?
Я
   RomaH
 
13.02.20 - 12:07
ОписаниеОповещения = Новый ОписаниеОповещения("ПослеПолученияФайлаВРабочийКаталог",ЭтаФорма);
    
    РаботаСФайламиКлиент.ПолучитьПрисоединенныйФайл(ОписаниеОповещения,Объект.ФайлПротокола,УникальныйИдентификатор);
    
КонецПроцедуры

&НаКлиенте
Процедура ПослеПолученияФайлаВРабочийКаталог(Результат,ДополнительныеПараметры) Экспорт
    
    ИмяФайла = Результат.ПолноеИмяФайла;
    
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла("htm");
    //ИмяВременногоФайла = "T:\qwe1.htm";
    
    ОбъектВорд = Новый COMОбъект("Word.Application");
    ОбъектВорд.Documents.add(ИмяФайла);
    ДокументВорд = ОбъектВорд.Application.Documents(1);
    ДокументВорд.SaveAs2(ИмяВременногоФайла,8);
    ОбъектВорд.Quit();
    
    ЧтениеHTML = Новый ЧтениеHTML;
    
    Ш = ТекущаяДата();
    Пока ТекущаяДата() < Ш + 5 Цикл
        Попытка
            ЧтениеHTML.ОткрытьФайл(ИмяВременногоФайла, "windows-1251");
            Прервать;
        Исключение
            Сообщить(ОписаниеОшибки());//Ш = Ш + 1;
          //Возврат;    
        КонецПопытки;
    КонецЦикла;

получаю порядка 35 ошибок пока не освободится файл

{Документ.ИсследованиеУльтразвуковое.Форма.ФормаДокумента.Форма(241)}: Ошибка при вызове метода контекста (ОткрытьФайл): Ошибка совместного доступа к файлу 'T:\TEMP\v8_C48D_5.htm'

как нормально дождаться сохранения и освобождения?
 
 
   vicof
 
1 - 13.02.20 - 12:13
ОбъектВорд = Неопределено;
   RomaH
 
2 - 14.02.20 - 07:06
(1) спасибо
вопрос из этой же темы:

а как сократить время выполнения?
4 строчки занимают 80% времени 3,5 секунды

    ОбъектВорд = Новый COMОбъект("Word.Application");
    ОбъектВорд.Documents.add(ИмяФайла);
    ДокументВорд = ОбъектВорд.Application.Documents(1);
    //ОбъектВорд.Application.Documents(1).SaveAs2(ИмяВременногоФайла,8);//Разницы нет

    ДокументВорд.SaveAs2(ИмяВременногоФайла,8);

частная задача - получить из Ворда HTML документ
общая - показать внутри 1С внутренность прикрепленного файла
   craxx
 
3 - 14.02.20 - 07:39
(2) Никак. Это не от 1С зависит. ОЛЕ очень тормозной механизм. Написать свой парсер docx, это по сути зазипованный XML
   dka80
 
4 - 14.02.20 - 09:11
Если возможно, то считывай данные заранее, до того, как их запросит пользователь.

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