Hi,
I have rewriten exampl of creating WordTable.
Code is from testing package. It works fine.
And what about mail merge ? I tried it but it works only
with data in text file. I cant`t set connection string and
SqlStatement through method OpenDataSource.
Have you used MailMerge object ???
palio
mailtoaliok22@yahoo.com
--*--
OBJ_HND OLE2.OBJ_TYPE; /* store the object handle */
procedure testole is
n_row NUMBER;
n_col NUMBER;
begin
filecreate('oletest.doc'); -- set obj_hnd
doevent('AppMaximize',1,null,null,null);
doevent('Font',null,'Arial',null,null);
doevent('FontSize',16,null,null,null);
doevent('Bold',1,null,null,null);
doevent('Italic',1,null,null,null);
doevent('Underline',1,null,null,null);
doevent('Insert',null,'XpertRule to Word - OLE Example Report',null,null);
doevent('InsertPara',null,null,null,null);
doevent('EndOfDocument',1,null,null,null);
doevent('Font',null,'Arial',null,null);
doevent('FontSize',12,null,null,null);
doevent('Bold',0,null,null,null);
doevent('Italic',0,null,null,null);
doevent('CharLeft',1,null,null,null);
doevent('InsertPara',null,null,null,null);
doevent('Insert',null,'Date = ',null,null);
doevent('Insert',null,to_char(SYSDATE,'DD.MM.YYY'),null,null);
doevent('InsertPara',null,null,null,null);
doevent('Insert',null,'Time = ',null,null);
doevent('Insert',null,to_char(SYSDATE,'HH:MM'),null,null);
doevent('InsertPara',null,null,null,null);
doevent('InsertPara',null,null,null,null);
doevent('TableInsertTable',3,'3','6','Auto');
doevent('TableSelectTable',null,null,null,null);
doevent('BorderLineStyle',2,null,null,null);
doevent('BorderOutside',1,null,null,null);
doevent('BorderLineStyle',1,null,null,null);
doevent('BorderInside',1,null,null,null);
doevent('CharLeft',1,null,null,null);
doevent('TableSelectRow',null,null,null,null);
doevent('TableMergeCells',null,null,null,null);
doevent('CharLeft',1,null,null,null);
doevent('TableSelectRow',null,null,null,null);
doevent('Font',null,'Times New Roman',null,null);
doevent('FontSize',18,null,null,null);
doevent('Bold',1,null,null,null);
doevent('Italic',1,null,null,null);
doevent('CenterPara',null,null,null,null);
doevent('CharLeft',1,null,null,null);
doevent('Insert',null,'Title table',null,null);
doevent('NextCell',null,null,null,null);
doevent('TableSelectRow',null,null,null,null);
doevent('Font',null,'Arial',null,null);
doevent('FontSize',12,null,null,null);
doevent('Bold',1,null,null,null);
doevent('Italic',0,null,null,null);
doevent('LeftPara',null,null,null,null);
doevent('CharLeft',1,null,null,null);
For n_col in 1..3
loop
doevent('Insert',null,'head_'||to_char(n_col),null,null);
doevent('NextCell',null,null,null,null);
--doevent('EndOfDocument',1,null,null,null);
doevent('Font',null,'Courier New',null,null);
doevent('FontSize',10,null,null,null);
doevent('Bold',0,null,null,null);
doevent('Italic',0,null,null,null);
doevent('LeftPara',null,null,null,null);
doevent('CharLeft',1,null,null,null);
doevent('NextCell',null,null,null,null);
end loop;
For n_row in 1..5
loop
For n_col in 1..3
loop
doevent('Insert',null,'row_'||to_char(n_row),null,null);
If (n_row = 5) and (n_col = 3) then
null;
Else
doevent('NextCell',null,null,null,null);
End if;
end loop;
end loop;
doevent('TableSelectTable',null,null,null,null);
doevent('CharLeft',1,null,null,null);
doevent('TableSelectRow',null,null,null,null);
doevent('ShadingPattern',7,null,null,null);
doevent('CharLeft',1,null,null,null);
doevent('NextCell',null,null,null,null);
doevent('TableSelectRow',null,null,null,null);
doevent('ShadingPattern',5,null,null,null);
doevent('CharLeft',1,null,null,null);
procedure DoEvent(sWhat VARCHAR2,n NUMBER,sChar1 VARCHAR2, sChar2 VARCHAR2, sChar3 VARCHAR2) is
arglist ole2.list_type;
begin
arglist := ole2.create_arglist;
if n is not null then
ole2.add_arg (arglist, n);
end if;
if sChar1 is not null then
ole2.add_arg (arglist, sChar1);
end if;
if sChar2 is not null then
ole2.add_arg (arglist, sChar2);
end if;
if sChar3 is not null then
ole2.add_arg (arglist, sChar3);
end if;
ole2.invoke (obj_hnd, sWhat, arglist);
ole2.destroy_arglist (arglist);
exception
when others then
message('doevent:'||sWhat||' n:'||to_char||' S1:'||sChar1||' S2:'||sChar2||' S3:'||sChar3);
raise;
end;
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.