L
lionk
Сразу сорри за поднятие темы которую и так часто поднимают.
По форуму искал решений нашол много, старых и не очень но окончательной реализации которая меня устроила ненашол.
хочу зделать так:
есть документ(лотус) "Форма печати" в котором лежит оле обект вордовского документа в которм нужно заменить поля на значения из лотус документа что выгружаем.
вод код кнопки печати
и он не работает, не возможно достучатся к обекту ворда, он есть но ниже уровня word.Application.document опустится нельзя.
разбирался как єто делается в екселе там документ сохраняется на диск, инициализируется и потом сохранение убивается.
добавил механизм сохранения и переоткрытия, всё зарабоало, но открывается мой док и ещё один, и на диске остаётся файл, удалить его нельзя бо занят вордом.
нужно чтобы небыло лишнего дока в памяти и на диске.
я думаю что такой механизм у когото давно реализован, поделитесь хотябы инициализацией.
и ещё у когото есть описание всех подкласов функций и свойств обекта Ворд, ато как слепой щенок мыкаюсь.
По форуму искал решений нашол много, старых и не очень но окончательной реализации которая меня устроила ненашол.
хочу зделать так:
есть документ(лотус) "Форма печати" в котором лежит оле обект вордовского документа в которм нужно заменить поля на значения из лотус документа что выгружаем.
вод код кнопки печати
и он не работает, не возможно достучатся к обекту ворда, он есть но ниже уровня word.Application.document опустится нельзя.
разбирался как єто делается в екселе там документ сохраняется на диск, инициализируется и потом сохранение убивается.
добавил механизм сохранения и переоткрытия, всё зарабоало, но открывается мой док и ещё один, и на диске остаётся файл, удалить его нельзя бо занят вордом.
нужно чтобы небыло лишнего дока в памяти и на диске.
я думаю что такой механизм у когото давно реализован, поделитесь хотябы инициализацией.
и ещё у когото есть описание всех подкласов функций и свойств обекта Ворд, ато как слепой щенок мыкаюсь.
Код:
Set formdoc=GetPrintFormByAlias ("Word")
If formdoc Is Nothing Then
Print "doc for report is Nothing !"
Exit Sub
End If
Set rtitem=formdoc.GetfirstItem("PrintFormBody")
Set object=rtitem.EmbeddedObjects(0)
Print "Инициализация " & object.Class & " ..."
Set worddoc=object.Activate(False)
Set word=worddoc.Application
v=Evaluate(|@Unique+".doc"|)
Path=word.Path+"\"+Cstr(v(0))
Call worddoc.SaveAs(path)
Call word.Application.documents.Open(path)
'Kill Path
worddoc.FormFields(1).result = "!!!!!!!!!!!!!!!!!!!!!!"
worddoc.Application.Visible = True