|
Как дождаться освобождения файла Вордом? | ☑ | ||
|---|---|---|---|---|
|
0
RomaH
naïve
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' как нормально дождаться сохранения и освобождения? |
|||
|
1
vicof
13.02.20
✎
12:13
|
ОбъектВорд = Неопределено;
|
|||
|
2
RomaH
naïve
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С внутренность прикрепленного файла |
|||
|
3
craxx
14.02.20
✎
07:39
|
(2) Никак. Это не от 1С зависит. ОЛЕ очень тормозной механизм. Написать свой парсер docx, это по сути зазипованный XML
|
|||
|
4
dka80
14.02.20
✎
09:11
|
Если возможно, то считывай данные заранее, до того, как их запросит пользователь.
|
| Форум | Правила | Описание | Секции | Поиск |