关于模板的使用的例子,自己改一下吧! 模板中设定标志字符,然后用系统来查找这些标志字符,然后从数据库中取数据进行替换。 可以多参看一下Office的在线帮助,多试一下吧。 告诉你如何替换文字吧。 注意:要uses Word97。(或者word2000)一定要引用! procedure openwordfile(Myword:TWordApplication;Myfile:string);//打开Word文档函数。 //Myword:文档工程名称;Myfile:word文件名。 var ItemIndex :OleVariant; FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument, WritePasswordTemplate, Format, MatchCase,MatchWholeWord,find1,rep1, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Replace : OleVariant; begin Myword.Visible := false; FileName :=MyFile; confirmConversions := False; ReadOnly := False; AddToRecentFiles := False; PasswordDocument := ' '; PasswordTemplate := ' '; Revert := True; WritePasswordDocument := ' '; WritePasswordTemplate := ' '; Format := wdOpenFormatDocument; myWord.Documents.Open( FileName, ConfirmConversions, readOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument, WritePasswordTemplate, Format ); myword.Visible:=false; end; //打开Word文档函数(结束) Procedure RepData(MyDoc:TWordDocument;FindStr,RepStr:string);//利用数据库替换Word字符串函数 //FindStr:被查找的字符串。RepStr:要替换的字符串。 var MatchCase,MatchWholeWord,find1,rep1,Format, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Replace : OleVariant; begin Find1:=FindStr; Rep1:=RepStr; MatchCase:=false; MatchWholeWord:=true; MatchWildcards:=false; MatchSoundsLike:=false; MatchAllWordForms:=false; Format:=true; Forward:=true; replace:=wdReplaceall; // WordApplication2.StartOfdocument; //到文首 {if} Mydoc.Range.Find.Execute( find1, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward, Wrap, Format, Rep1, Replace );{ then showmessage( 'OK!!!! ')} {else showmessage( 'finish!! ');} end; 以下是根据模板新建一个Doc文件。 FileName := Opendialog1.FileName; itemindex:=1; tempPlate:=Filename; newtemplate:=false; WordApplication1.Connect; WordApplication1.Visible:=true; WordApplication1.Documents.Add(TempPlate,newtemplate); WordDocument1.ConnectTo(WordApplication1.Documents.Item(itemindex));
以下是我找到的一段控制WORD文档的程序,可以看看。 procedure TForm1.Button1Click(Sender: TObject); begin WordApplication1.Connect; WordApplication1.Visible := True; visible:=true; // wordapplication1.Documents.Add() WordApplication1.Documents.Add(EmptyParam,EmptyParam); WordDocument1.Connect; WordApplication1.ActiveWindow.View.Type_:= wdNormalView; WordApplication1.Selection.Font.Name := '黑体 '; WordApplication1.Selection.Font.Size := 16; WordApplication1.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter; WordApplication1.Selection.TypeText( '自定义表头内容 '); WordApplication1.Selection.TypeParagraph; WordApplication1.Selection.TypeParagraph; WordApplication1.Selection.Font.Name := '宋体 '; WordApplication1.Selection.Font.Size :=12; WordApplication1.Selection.ParagraphFormat.Alignment := wdAlignParagraphRight; WordApplication1.Selection.TypeText( '日期 '+formatdatetime( 'yyyy "年 "mm "月 "dd "日 " ',now)); WordApplication1.Selection.TypeParagraph; WordApplication1.Selection.TypeParagraph;//回车 WordApplication1.Selection.ParagraphFormat.Alignment := wdAlignParagraphLeft; end;
|