Пришлось написать выгрузку в WORD (Clarion 6.3 шаблоны Синявского). Никогда не писал, поэтому пишу методом научного тыка.
Столкнулся с тем, что надо после передачи данных в WORD не только закрыть документ но и корректно закрыть WORD.
Подскажите: а как корректно закрыть WORD???
Код: Выделить всё
Loc:WordFileName = Clip(CONF:Path_Shablon_WORD) ! Каталог и имя шаблонного документа
Loc:SaveFileName = Clip(CONF:Path_Save_WORD) &'вх.'& Clip(UCH:Number) &'.doc'! Каталог для хранения файлов + имя
feqOLE=create(0,CREATE:Ole) ! создали OLE-контрол
feqOLE{Prop:Create} = 'Word.Application' ! сказали, что этот контрол использует Word
feqOLE{Prop:ReportException} = TRUE ! для отладки - показываем все сообщения об ошибках OLE
feqOLE{'Visible'} = 1 ! показали Word
feqOLE{'Documents.Open("'& clip(Loc:WordFileName) &'")'} ! Открываем шаблон документа
!Работаем с файлом заполняем данные
!==============================================================================================================================
do Find_Replace
!Сохраняем файл WORD
!==============================================================================================================================
feqOLE{'Application.Selection.GoTo(11, 1)'} ! встали на начало документа
feqOLE{'Application.ActiveDocument.SaveAs("'& Clip(Loc:SaveFileName) &'")'} ! сохранили документ под другим именем
if CONF:Close_File then ! Закроем документ если надо
feqOLE{'Documents.Close()'} ! Закрываем документ
??????? А КАК закрыть WORD ?????? ! ??????? А КАК закрыть WORD
end
! уничтожили OLE-контрол ---------------------------------
loop 3 times
destroy(feqOLE) ! уничтожили OLE-контрол
end
!---------------------------------------------------------