Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / OLE2. Не могу записать вордовский файл / 5 сообщений из 5, страница 1 из 1
10.09.2010, 08:49
    #36839370
SergeyAKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE2. Не могу записать вордовский файл
Нужно записать вордовский файл. Пользую формс 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
10.09.2010, 08:53
    #36839373
SergeyAKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE2. Не могу записать вордовский файл
Забыл сказать, что Office Word 2003
...
Рейтинг: 0 / 0
10.09.2010, 13:07
    #36840115
OmegaMale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OLE2. Не могу записать вордовский файл
SergeyAKa,

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

то есть,

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

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

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

Код: 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
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / OLE2. Не могу записать вордовский файл / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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