Hi All,
My company' application is used Oracle FORMS 6i Solution,Client /Server environment to generated EXCEL file
I coding the PL/SQL in the Oracle FORM , it's succeed generated EXCEL file in MS office Excel 2007/2003/2000.
Now I have problem in MS office Excel 2010 , It's just open the Excel file but no data can write into excel file,
It's always raise the error exception "dde.dmlerr_no_conv_established"
some one can help me,thanks !!
my pl/sql code wrote in Button Item's trigger WHEN-BUTTON-PRESSED
[hr />
declare
obj ole2.obj_type;
path varchar2(256);
p_excel_path varchar2(255);
appid pls_integer;
convid pls_integer;
begin
begin
obj := ole2.create_obj('excel.application');
path := ole2.get_char_property(obj,'path');
ole2.release_obj(obj);
ole2.invoke(obj,'quit');
exception
when others then
message('office excel not found!');
return;
end;
p_excel_path := path||'excel.exe';
synchronize;
appid := dde.app_begin(p_excel_path, dde.app_mode_normal);
dde.app_focus(appid);
convid := dde.initiate('excel','book1');
dde.poke(convid,'r1c1','abc',dde.cf_text,100000);
dde.poke(convid,'r2c2','abc',dde.cf_text,100000);
exception
when dde.dmlerr_no_conv_established then
message('dmlerr_no_conv_established');
raise form_trigger_failure;
when others then
null;
end;
Software/Hardware used:
oracle forms 6i
ASKED:
May 24, 2011 8:41 AM
UPDATED:
May 25, 2011 1:27 PM
I’ve never tried it with Excel 2010, but it seems that the conversation is not being established.
Check the value of your ‘convid’ variable after this line:
convid := dde.initiate('excel','book1');Without a valid conversation ID all subsequent calls to poke will fail.
This is most likely going to need investigation on the Excel side, as something must have been changed in its DDE server.
It could simply be that the “Ignore other applications” has been selected in the Advanced Options settings in Excel. Clear this selection and try again.