Erro ao utilizar Client_ole2.CREATE_OBJ('EXCEL.APPLICATION')

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
trupico
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Ter, 26 Abr 2011 11:08 am
Localização: São Paulo

Boa tarde pessoal, vi que tem alguns tópicos aqui sobre isto...mas com nenhuma conclusão sobre o assunto e nem como resolver.
Portanto resolvi abrir outro, e é o seguinte:

Quando coloco o FMX no servidor e rodo o forms para gerar o excel da erro nesta linha:

Selecionar tudo

APPLICATION := Client_ole2.CREATE_OBJ('EXCEL.APPLICATION'); 
Não sei o que fazer mais, o que posso fazer para consertar.
Eu utilizo o Client_ole2 pois ele não necessita que o excel esteja instalado no servidor.


Abraço a todos. :-o
debby_acacio
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 51
Registrado em: Ter, 22 Jan 2008 11:38 am
Localização: Salvador - BA
Contato:

Boa tarde a todos..

Eu também estou nesse impasse e ainda não consegui resolver, se alguém tiver a solução por favor.. me avisem

Sds

Debby :)
trupico
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Ter, 26 Abr 2011 11:08 am
Localização: São Paulo

E ai pessoas...quem pode nos ajudar??

Com certeza este não é só meu erro...muitas pessoas tem a mesma dificuldade!!!
Assim poderemos ajudar a todos!
debby_acacio
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 51
Registrado em: Ter, 22 Jan 2008 11:38 am
Localização: Salvador - BA
Contato:

Bom dia Gentem

E ai alguém conseguiu rodar o OLE2 com o forms 10g ????

Grata

Debby :)
marlonpasquali
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 248
Registrado em: Sex, 06 Fev 2009 3:02 pm
Localização: ERECHIM - RS

Ainda não utilizo o Forms 10g, mas no 6i que tenho aqui funciona normalmente.
Fiz um teste com um exemplo que achei em um post cfe abaixo:

Selecionar tudo

DECLARE
application OLE2.OBJ_TYPE;
workbooks OLE2.OBJ_TYPE;
workbook OLE2.OBJ_TYPE;
worksheets OLE2.OBJ_TYPE;
worksheet OLE2.OBJ_TYPE;
cell OLE2.OBJ_TYPE;
args OLE2.OBJ_TYPE;
ctr NUMBER(12);
cols NUMBER(2);
name_var1 VARCHAR2(1);
name_var2 VARCHAR2(1);
name_var3 VARCHAR2(1);
name_var4 VARCHAR2(1);
filename varchar2(100);

PROCEDURE OLEARG IS
args OLE2.OBJ_TYPE;
BEGIN
args := OLE2.CREATE_ARGLIST;
ole2.add_arg(args,ctr); -- row value
ole2.add_arg(args,cols); -- column value
cell := ole2.GET_OBJ_PROPERTY(worksheet,'Cells',args); -- initializing cell
ole2.destroy_arglist(args);
END;

BEGIN
filename :=GET_FILE_NAME('c:\', File_Filter=>'Excel Files (*.xls)|*.xls|'); -- to pick the file
application := OLE2.CREATE_OBJ('Excel.Application');
ole2.set_property(application,'Visible','true');
workbooks := OLE2.GET_OBJ_PROPERTY(application, 'Workbooks');
args := OLE2.CREATE_ARGLIST;
ole2.add_arg(args,filename); --'c:\13s002.xls'); -- file path and name
workbook := ole2.GET_OBJ_PROPERTY(workbooks,'Open',args);
ole2.destroy_arglist(args);
args := OLE2.CREATE_ARGLIST;
ole2.add_arg(args,'Plan1');
worksheet := ole2.GET_OBJ_PROPERTY(workbook,'Worksheets',args);
ole2.destroy_arglist(args);

ctr := 2; --row number
cols := 1; -- column number

FIRST_RECORD;

LOOP
OLEARG;
name_var1 := ole2.get_char_property(cell,'Value'); --cell value of the argument
cols := cols+1;

OLEARG;
name_var2 := ole2.get_char_property(cell,'Value'); --cell value of the argument
cols := cols+1;

OLEARG;
name_var3 := ole2.get_char_property(cell,'Value'); --cell value of the argument
cols := cols+1;

OLEARG;
name_var4 := ole2.get_num_property(cell,'Value'); --cell number value of the argument

IF ctr = 1 then
:meta_liquida := name_var1;
:horas_real := name_var2;
:meta_real := name_var3;
:realizado := name_var4;
ELSE
NEXT_RECORD;
:meta_liquida := name_var1;
:horas_real := name_var2;
:meta_real := name_var3;
:realizado := name_var4;
END IF;

EXIT WHEN length(name_var1) = 0 or length(name_var1) is null;
ctr := ctr + 1;
cols := 1;

END LOOP;
OLE2.INVOKE(application,'Quit');
OLE2.RELEASE_OBJ(cell);
OLE2.RELEASE_OBJ(worksheet);
OLE2.RELEASE_OBJ(worksheets);
OLE2.RELEASE_OBJ(workbook);
OLE2.RELEASE_OBJ(workbooks);
OLE2.RELEASE_OBJ(application);
END;
debby_acacio
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 51
Registrado em: Ter, 22 Jan 2008 11:38 am
Localização: Salvador - BA
Contato:

Bomdia gentem
Marlon também trabalho com a versão 6i e tenho programas em que a OLE2 funciona perfeitamente.

Acontece que no 10g com a versão client não funciona.

Att

Debby :)
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes