powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / OLE2. Не могу записать вордовский файл
5 сообщений из 5, страница 1 из 1
OLE2. Не могу записать вордовский файл
    #36839370
SergeyAKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно записать вордовский файл. Пользую формс 4.5.

сделал процедуру для записи

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
  procedure save_as(oWord  OLE2.OBJ_TYPE, p_doc_file varchar2)     
  is
  oDoc    OLE2.OBJ_TYPE;
  args     ole2.list_type;
  Begin 
    -- сформировать объект документа
    oDoc := OLE2.get_obj_property(oWord, 'Documents');
    
    args := OLE2.Create_Arglist;
    OLE2.Add_Arg(args, p_doc_file);       
    OLE2.Invoke(oDoc, 'SaveAs', args); 
    OLE2.DESTROY_ARGLIST(args); 
    
    OLE2.release_obj(oDoc);
    
        
  End; 


Создаю и заполняю файл.

Дергаю процедуру
Код: plaintext
1.
  save_as(oWord, 'test.doc');

но ничего никуда не записывается.


Что я не так сделал?

OLE2.Last_Exception выдает нулевую ошибку.
...
Рейтинг: 0 / 0
OLE2. Не могу записать вордовский файл
    #36839373
SergeyAKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл сказать, что Office Word 2003
...
Рейтинг: 0 / 0
OLE2. Не могу записать вордовский файл
    #36840115
OmegaMale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyAKa,

Сохранять надо не documents (это же коллекция документов), а конкретный документ, получив его через Item.
Или сначала добавить новый документ, а потом его сохранить !
...
Рейтинг: 0 / 0
OLE2. Не могу записать вордовский файл
    #36840780
OmegaMale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OmegaMale,

то есть,

после
OLE2.get_obj_property(oWord, 'Documents')

нужно сделать
doc := OLE2.INVOKE_OBJ(oWord,'Add');

а потом уже Save :)
...
Рейтинг: 0 / 0
OLE2. Не могу записать вордовский файл
    #36843156
SergeyAKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так заработало

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
  procedure save_as(oWord  OLE2.OBJ_TYPE, p_doc_file varchar2)     
  is
  oDoc    OLE2.OBJ_TYPE;
  args     ole2.list_type;
  Begin 
    -- сформировать объект документа
    oDoc := OLE2.get_obj_property(oWord, 'ActiveDocument');
    --oDoc := OLE2.INVOKE_OBJ(oWord,'Add');

    args := OLE2.Create_Arglist;
    OLE2.Add_Arg(args, p_doc_file);       
    OLE2.Invoke(oDoc, 'SaveAs', args); 
    OLE2.DESTROY_ARGLIST(args); 
    
    OLE2.release_obj(oDoc);
    
        
  End; 
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / OLE2. Не могу записать вордовский файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]