摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:73422782
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi实例教程
◎→ 本类最新
在DELPHI中用线程排序
在Delphi中使用Queued Component
作非常规程序菜单掌握delphi
执行一个外部程序并等待它的完成
在应用程序中跟踪MOUSE的坐标
五子棋源代码
显示密码的原理
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
Listview中实现点击栏目标题排序
Microsoft Agent技术在Delphi中的
MIDAS中动态强制约束编程
Chuck Jazdzewski的离开意味着De
COM程序编写入门(三)
OICQ中用户图标选择的实现
DELPHI中利用对象的常用属性制作

当Dephi遇到Word


日期:2008-10-20 22:01:36    来源:
   
 ·在Delphi中使用CreateOleObject方法对WORD文件进行操作
 ·office,excel实例视频教程软件下载
当Dephi遇到Word


  在Dephi 5中提供了一组Servers组件,实现了与Office的无缝结合,但有关这一方面的资料却很少,最近笔者接触了一个用户案例,要求最终将数据库中的结果总结成一份Word文档,Word文档中对于标题、正文的字体、字号,文档的纸张大小都有一定的要求,而且还要求以表格的形式体现一部分数据库中的数据。

  笔者通过查找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;

  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与数据库结合,实现了用户文档的自动生成,大大地方便了用户。

 [1]

用自动化往Word、Excel中输出数据库内容

--->MSN Password Recovery V1.1.410.2006 汉化版
--->Word学友
--->WORD文档保护解除器 V1.0
--->PDF2Word V1.6
--->PDF2Word V1.6
Tags:  Dephi Word

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们