17. februar 2005 - 11:09
Der er
1 kommentar og
1 løsning
Word dokument manipulering
Jeg har tidliger lavet noget expand af word dokumenter, dvs udskiftning af %var% til værdi, i et VB6 program, det var let nok.
Men allerede når jeg skal åbne dokumentet i Delphi går det galt:
uses word200;
procedure TfrmMainExpandPB.expandIt;
var
w: TWordApplication;
fn: OleVariant;
cc: OleVariant;
ro: OleVariant;
atr: OleVariant;
pd: OleVariant;
pt: OleVariant;
r: OleVariant;
wpsw: OleVariant;
wpt: OleVariant;
f: OleVariant;
begin
//fn:=FsourceName;
fn:='c:\tilbuds brev.doc';
cc:=false;
ro:=false;
atr:=false;
pd:=false;
pt:=''; //password template format=?
r:=false;
wpsw:=false;
wpt:='';
f:=false;
w:=TWordApplication.Create(nil);
w.Documents.OpenOld(fn,cc,ro,atr,pd,pt,r,wpsw,wpt,f);
end; //expand it
Den skriver "type uoverenstemmelse".
Er der nogen der kan hjælpe.
17. februar 2005 - 11:36
#1
Forløbigt så har jeg løsningen her:
w.Documents.OpenOld(fn,emptyparam,emptyparam,emptyparam,emptyparam,
emptyparam,emptyparam,emptyparam,emptyparam,emptyparam);
Men gode tips modtages gerne.
17. februar 2005 - 12:30
#2
Her er noget der virker, andre kan måske bruge det.
Bemærk saveAs linjen jeg kunne ikke finde andre metoder, men så længe det virker.
var
wa: TWordApplication;
fn: OleVariant;
fnr: OleVariant;
fn:='c:\tilbuds brev.doc';
wa:=TWordApplication.Create(nil);
wa.Documents.OpenOld(fn,emptyparam,emptyparam,emptyparam,emptyparam,
emptyparam,emptyparam,emptyparam,emptyparam,emptyparam);
wa.Selection.Start:=1;
wa.Selection.End_:=100;
wa.Selection.Text:='Test';
fn:='c:\test.doc';
fnr:=1;
wa.Documents.Item(fnr).SaveAs
(fn,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
wa.Quit;