Доброго времени суток! Подскажите, пожалуйста, какой командой в следующем коде ещё запустить нужный макрос:
| Код | PROCEDURE OpenDocThroughDDE( DocName varchar2 ) IS AppId pls_integer; ConvID pls_integer; msg varchar2(1000); dir varchar2(1000); i pls_integer; BEGIN set_application_property(cursor_sty le,'BUSY'); UTF.SHOWMES( 'Документ передается в MS Word (через DDE)', NO_ACKNOWLEDGE ); SYNCHRONIZE; dir:=ReadFromRegistry('HKEY_LOCAL_M ACHINE\SOFTWARE\microsoft\windows\c urrentversion\app paths\winword.exe\Path'); msg:='Не удается загрузить MS Word. Обратитесь к администратору системы.'; IF is_window_exists('Microsoft Word')=0 THEN AppID := DDE.App_Begin( dir||'\winword.exe /n',DDE.App_Mode_Normal); m_pause(5); END IF; msg:='Ошибка DDE.'||chr(10)|| 'Перейдите в Word (Alt-Tab) и попробуйте открыть файл '||DocName; ConvID := DDE.Initiate('WinWord', 'System'); m_pause(3); msg:='Не удается открыть файл '||DocName||'.'||chr(10)|| 'Перейдите в Word (Alt-Tab) и попробуйте открыть файл '||DocName; begin DDE.Execute(ConvId,'[FileOpen .name="'||DocName||'",.ConfirmConve rsions=0]',1000); -- Обновляем все поля DDE.Execute(ConvId,'[EditSelectAll]',1000); DDE.Execute(ConvId,'[UpdateFields]',1000); DDE.Execute(ConvId,'[StartOfDocument]',1000);
??????????????????????????????????? ???????
exception when others then null; end;
|
Отговаривать, что это старо, не надо, у меня задача заставить работать именно этот кусок - пристроить к нему вымученный макрос, последний я не могу вживить в шаблон документа, т.к. используется формат RTF. Таковы условия задачи, не мне их менять.
Заранее благодарю за любую помощь. |