我现在要实现2个WORD文档,现在要把他合并成一个(在程序中可以是WORDAPPLICATION也可以OLE)请问我该怎么做不过如果能实现把多个流都追加到一个OLE或者WORD文档也行谢谢!!!!!!!
解决方案 »
- 如何在DBGrid中实现“返回”功能
- 在DBGrid中怎样设置能显示小数
- 一个很简单的问题!
- 目的:1、散分 (早来早得,多来多得) 2、呼吁所有发帖子的楼主能够尊重一下回复帖子的朋友!!!
- 高分寻ing
- 寻找控件...
- IBM DB2 v7.1 认证有用吗?csdn有DB2的专区吗?
- 使用socketconnection发生的错误~请指教!
- ?没有人会吗??''假如dbgrid的第一列失去焦点'' 这句话如何用delphi语句表示---if dbgrid1.column[0].????????
- 升级到Delphi6有问题,Ado控件不支持Null吗? 谁能解决这个问题!
- 怎样把stringgrid内的内容清干净?
- 如何保存每个进程只HOOK一次??
Procedure BlobFld2OleSaveasdoc(var dataQuery:TQuery;fldName:String; Ole: TOleContainer);
var
OleStream:Tstream;
NameId: String;
begin
NameId := dataQuery.FieldByName('element_Id').asstring;
OleStream := dataQuery.CreateBlobStream(dataQuery.fieldbyName(fldName),bmRead);
if OleStream.Size >0 then
begin
OLE.LoadFromStream(OleStream);
Ole.SaveAsDocument(TempPath+NameId+'.doc');//TempPath 为.doc文件的路径
Ole.Close ;
OleStream.free;
end else
begin
Ole.CreateObject('word.document',false);
end;
end;
//========end保存为doc文件========//FileListBox1.Directory := TempPath;
FileLIstbox1.Mask :='*.doc';
//Filelistbox1 用于取“.doc”文件
//========begin合并doc文件========//
TempFileName := extractfilepath(Application.ExeName)+'TempdocFile\Tempdoc.dot';
//tempdoc.dot用于存放合并的主文件
wordapplication1.Connect;
wordapplication1.Documents.Open(TempFileName,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam);WordDocument1.ConnectTo(wordapplication1.Documents.Item(TempFileName));
WordDocument1.Select ;
WordDocument1.Range.Cut ;//清空.dot文件
for FileNameOrder := 0 to FileListBox1.Items.Count -1 do
begin
FromFileName := TempPath + FileListBox1.Items.Strings[FileNameOrder];
wordapplication1.Documents.Open(FromFileName,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam);
WordDocument2.ConnectTo(wordapplication1.Documents.Item(FromFileName));
WordDocument2.Select ;
WordDocument2.Range.Copy;
WordDocument2.Close ;
WordDocument1.Paragraphs.Last.Range.Paste;
end;{for for FileNameOrder := 0 to FileListBox1.Items.Count -1}
Wordapplication1.Visible:=true;//结果显示。
//========end合并doc文件========//
procedure Tmenufrm.Button1Click(Sender: TObject);
var
oe:variant;
begin
oe:=CreateOleObject('word.Application');
oe.visible:=true;
oe.Documents.Add(DocumentType:=wdNewBlankDocument);
oe.ChangeFileOpenDirectory(文件路径);
oe.Selection.InsertFile(FileName:='doc1.doc', Range:='', ConfirmConversions:=False, Link:=False, Attachment:=False);
oe.Selection.InsertFile(FileName:='doc2.doc', Range:='', ConfirmConversions:=False, Link:=False, Attachment:=False);
oe.Selection.InsertFile(FileName:='doc3.doc', Range:='', ConfirmConversions:=False, Link:=False, Attachment:=False);
end;
补充,第一行再补充上word2000或wordxp(视乎你安装DELPHI时的OFFICE选项)
方法二:form中放两个控件wordApplication1、worddocument1.procedure TForm1.Button1Click(Sender: TObject);
begin
wordapplication1.Connect;
wordapplication1.Visible:=true;
wordapplication1.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam);
worddocument1.ConnectTo(wordapplication1.ActiveDocument);
wordapplication1.ChangeFileOpenDirectory(文件路径);
wordapplication1.Selection.InsertFile(doc1.doc',EmptyParam,EmptyParam,EmptyParam,EmptyParam);
wordapplication1.Selection.InsertFile(doc2.doc',EmptyParam,EmptyParam,EmptyParam,EmptyParam);
wordapplication1.Selection.InsertFile(doc3.doc',EmptyParam,EmptyParam,EmptyParam,EmptyParam);
end;