![]() |
|
Работа с Word.Application | ☑ | ||
---|---|---|---|---|
0
antihacker
06.12.16
✎
08:54
|
Всем привет ! Вот в форуме нашел пример.
&НаКлиенте Процедура ТЧДокументыДоговораВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) ИмяФайла = ПолучитьИмяВременногоФайла(Элементы.ФТЧДокументыДоговора.ТекущиеДанные.ИмяФайла); Doc = СформироватьФайл(Элементы.ФТЧДокументыДоговора.ТекущиеДанные.ИмяФайла, Элементы.ФТЧДокументыДоговора.ТекущиеДанные.РазмерФайла,Элементы.ФТЧДокументыДоговора.ТекущиеДанные.ТипФайла); Если Doc <> Неопределено Тогда Doc.Записать(ИмяФайла); Word = Новый COMОбъект("Word.Application"); Word.Documents.Open(ИмяФайла); Word.Visible = Истина; ДобавитьОбработчик Word.DocumentBeforeSave, ПередСохранениемДокументаOffice; ДобавитьОбработчик Word.DocumentBeforeClose, ПередЗакрытиемДокументаWord2; ДобавитьОбработчик Word.Quit, ВыходИзWord; КонецЕсли; КонецПроцедуры //Процедуры назначаемые обработчиками Процедура ПередЗакрытиемДокументаWord2(Документ, Отмена) сообщить("ПередЗакрытиемДокументаWord2"); Документ.Save(); КонецПроцедуры Процедура ВыходИзWord() сообщить("ВыходИзWord"); ШаблонДоговора = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ИмяФайла)); КонецПроцедуры Процедура ПередСохранениемДокументаOffice(Документ, СохранитьКак, Отмена) сообщить("ПередСохранениемДокументаOffice"); КонецПроцедуры Но почему то не исполноються процедуры ПередСохранениемДокументаOffice и ПередЗакрытиемДокументаWord2. А ВыходИзWord исполняеться. Не знаю может имполняеться, но по крайней мере не вижу резульата оператора сообщить(); |
|||
1
antihacker
06.12.16
✎
09:06
|
||||
2
Cool_Profi
06.12.16
✎
09:34
|
Если Doc <> Неопределено Тогда
Doc.Записать(ИмяФайла); Word = Новый COMОбъект("Word.Application"); Word.Documents.Open(ИмяФайла); Word.Visible = Истина; ДобавитьОбработчик Word.DocumentBeforeSave, ПередСохранениемДокументаOffice; ДобавитьОбработчик Word.DocumentBeforeClose, ПередЗакрытиемДокументаWord2; ДобавитьОбработчик Word.Quit, ВыходИзWord; КонецЕсли; Это в 1с дословно написано? И при исполнении не выдаёт ошибок? |
|||
3
antihacker
06.12.16
✎
11:54
|
Cool_Profi, браток с этой строкой все в порядке.
Оказываеться в УФ перед ПередЗакрытиемДокументаWord2 надо писать &НаКлиенте. Все просто. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |