当Dephi遇到Word
点击次数:66 次 发布日期:2008-11-09 08:42:07 作者:源代码网
|
源代码网推荐 源代码网推荐 笔者通过查找VBA的说明,再对照Dephi的VCL,终于实现了全部功能,现将有关的内容总结如下: 源代码网推荐 源代码网推荐 源代码网推荐 1、在当前程序目录下建立以标题字段命名的Word文件 源代码网推荐 源代码网推荐 源代码网推荐 exepath:=application.ExeName; 源代码网推荐 源代码网推荐 for index:=1 to length(exepath) do 源代码网推荐 源代码网推荐 if exepath[index]="" then 源代码网推荐 源代码网推荐 i:=index; 源代码网推荐 源代码网推荐 exepath:=copy(exepath,1,i); 源代码网推荐 源代码网推荐 doc_file:=exepath mc ".doc"; 源代码网推荐 源代码网推荐 以标题字段“mc”命名Word文件 源代码网推荐 源代码网推荐 try 源代码网推荐 源代码网推荐 Wordapplication1.connect; 源代码网推荐 源代码网推荐 except 源代码网推荐 源代码网推荐 messagedlg("没有安装Word",mterror,[mbok],0); 源代码网推荐 源代码网推荐 abort; 源代码网推荐 源代码网推荐 end; 源代码网推荐 源代码网推荐 Wordapplication1.Caption := "XX计划书"; 源代码网推荐 源代码网推荐 Wordapplication1.visible := true; 软件开发网 www.mscto.com 源代码网推荐 源代码网推荐 Worddocument1.activate; 源代码网推荐 源代码网推荐 源代码网推荐 2、设置纸张大小 源代码网推荐 源代码网推荐 源代码网推荐 Wordapplication1.ActiveDocument.PageSetup.PageWidth:=XXX; 源代码网推荐 源代码网推荐 Wordapplication1.ActiveDocument.PageSetup.PageHeight:=XXX; 源代码网推荐 源代码网推荐 Wordapplication1.ActiveDocument.PageSetup.LeftMargin := XX; 源代码网推荐 源代码网推荐 //设置左边距 源代码网推荐 源代码网推荐 Wordapplication1.ActiveDocument.PageSetup.rightMargin := XX; 源代码网推荐 源代码网推荐 //设置右边距 源代码网推荐 源代码网推荐 源代码网推荐 3、插入页码 源代码网推荐 源代码网推荐 源代码网推荐 var fpage,pagea:olevariant; 源代码网推荐 源代码网推荐 fpage:=true; 源代码网推荐 源代码网推荐 pagea:=wdAlignPageNumberCenter; 源代码网推荐 源代码网推荐 Wordapplication1.activedocument.sections.item(1).Footers.item(1).PageNumbers.Add(pagea,fpage); 源代码网推荐 源代码网推荐 源代码网推荐 4、设置页面横向打印 源代码网推荐 源代码网推荐 源代码网推荐 s:=Wordapplication1.selection.start; 源代码网推荐 源代码网推荐 e:=Wordapplication1.selection.start; 源代码网推荐 源代码网推荐 aa:=wdSectionBreakNextPage; 源代码网推荐 源代码网推荐 Wordapplication1.ActiveDocument.Range(s,e).InsertBreak(aa); 源代码网推荐 源代码网推荐 Wordapplication1.Selection.Start:=Wordapplication1.Selection.Start 1; 源代码网推荐 源代码网推荐 s:=Wordapplication1.Selection.start; 源代码网推荐 源代码网推荐 e:=Wordapplication1.ActiveDocument.Content.End_; 源代码网推荐 源代码网推荐 Wordapplication1.ActiveDocument.Range(S,e).PageSetup.Orientation:=wdOrientLandscape; 源代码网推荐 源代码网推荐 源代码网推荐 5、设置字体、字号 源代码网推荐 源代码网推荐 源代码网推荐 Wordapplication1.Selection.Font.Size:=18; 源代码网推荐 源代码网推荐 Wordapplication1.Selection.Font.Name := "黑体"; 源代码网推荐 源代码网推荐 Wordapplication1.Selection.TypeParagraph; 源代码网推荐 源代码网推荐 Wordapplication1.Selection.ParagraphFormat.Alignment:= wdAlignParagraphCenter; 源代码网推荐 源代码网推荐 Wordapplication1.Selection.TypeParagraph; 源代码网推荐 源代码网推荐 Wordapplication1.Selection.TypeText(dbedit4.text); 源代码网推荐 源代码网推荐 //标题 源代码网推荐 源代码网推荐 Wordapplication1.Selection.Font.Size := 14; 源代码网推荐 源代码网推荐 Wordapplication1.Selection.Font.Name := "宋体"; 源代码网推荐 源代码网推荐 Wordapplication1.Selection.TypeParagraph; 源代码网推荐 源代码网推荐 Wordapplication1.Selection.TypeParagraph; 源代码网推荐 源代码网推荐 Wordapplication1.Selection.ParagraphFormat.Alignment := wdAlignParagraphJustify; 源代码网推荐 源代码网推荐 Wordapplication1.Selection.TypeText(" " trim(dbmemo1.text)); 源代码网推荐 源代码网推荐 //正文 源代码网推荐 源代码网推荐 ... ... 源代码网推荐 源代码网推荐 源代码网推荐 6、插入表格 源代码网推荐 源代码网推荐 源代码网推荐 Wordapplication1.Selection.Font.Size :=10; 源代码网推荐 源代码网推荐 adoquery2.Active:=false; 源代码网推荐 源代码网推荐 adoquery2.active:=true; 源代码网推荐 源代码网推荐 doc:=Wordapplication1.activedocument; 源代码网推荐 源代码网推荐 counts:=adoquery2.RecordCount; 源代码网推荐 源代码网推荐 //记录数决定表格的行数 源代码网推荐 源代码网推荐 t:=doc.tables.Add(Wordapplication1.selection.range,counts 1,5);//5列 源代码网推荐 源代码网推荐 t.cell(1,1).range.text:= "单位"; 源代码网推荐 源代码网推荐 t.Cell(1,1).Width:=120; 源代码网推荐 源代码网推荐 t.cell(1,1).range.Paragraphs.Alignment:= wdAlignParagraphCenter; 源代码网推荐 源代码网推荐 t.cell(1,2).range.text:= "姓名"; 源代码网推荐 源代码网推荐 ... ... 源代码网推荐 源代码网推荐 //依次写入其他字段的表头 源代码网推荐 源代码网推荐 for i:=2 to counts 1 do 源代码网推荐 源代码网推荐 begin 源代码网推荐 源代码网推荐 t.cell(i,1).range.text:=adoquery2.field 源代码网推荐 源代码网推荐 byname("dw").asstring; 源代码网推荐 源代码网推荐 t.Cell(i,1).Width:=120; 源代码网推荐 源代码网推荐 t.cell(i,1).range.Paragraphs.Alignment:= 源代码网推荐 源代码网推荐 wdAlignParagraphCenter; 源代码网推荐 源代码网推荐 t.cell(i,2).range.text:=adoquery2.field 源代码网推荐 源代码网推荐 byname("xm").asstring; 源代码网推荐 源代码网推荐 ... ... 源代码网推荐 源代码网推荐 Adoquery2.next; 源代码网推荐 源代码网推荐 End; 源代码网推荐 源代码网推荐 使用Dephi将Word与数据库结合,实现了用户文档的自动生成,大大地方便了用户。 源代码网推荐 源代码网供稿. |
