转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
Delphi和Office程序开发         ★★★★

Delphi和Office程序开发

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1594 更新时间:2009/4/23 18:27:26

关键词:Delphi;Word;Excel;报表;

1.引言

在利用Delphi开发应用程序的时候,通常我们要设计出很多各种格式的文档、报表,经常要进行文件的创建、编辑及修改,虽然Delphi本身提供了很多设计报表的控件或方法,但是存在明显的不足,比如中文输入,数据格式的控制等操作起来比较麻烦。利用大家都很熟悉的Office工具结合开发,能够很好的解决这方面的问题。以下就以Delphi为例详细介绍怎么利用Office完成各种文档、报表的制作。

2.实现方法

利用Delphi和Office结合开发主要有以下三种方法:

(1) 通过Delphi的控件TOleContainer 将Office嵌入,这是最简单的Ole嵌入,能够直接将Office文档调用,只需要使用ToleContainer.Run就可以将Office文档直接启动。且这样启动的Office文档与Delphi程序是一个整体(从界面上看),但是它存在不可克服的缺点,即不能通过Delphi控制Office文档,也就不能实现将灵活操纵Office的目的。

(2) 使用Delphi提供的Servers控件调用Office,使用Office的属性,使用Delphi的Servers控件来操纵Office,在编程时Delphi能够实现代码提示,总体上看能够较好的实现Delphi对Office的控制,但是还有一些Office的功能不能在Delphi中调用(比如自己编写的VBA宏代码)。且实现功能时本来在VBA代码中可选择参数在Delphi调用的时候必须添加,否则,连编译都不能通过。这种方式启动的Office与Delphi程序分属两个窗体。

  (3) 使用CreateOleObject将启动Office,然后以Ole方式对Office进行控制。这种办法是使用以CreateOleObjects方式调用Office,实际上还是Ole,但是这种方式能够真正做到完全控制Office文件,能够使用Office的所有属性,包括自己编写的VBA宏代码。与Servers控件和Com技术相比,本方法能够真正地使用Office的各种属性,和在VBA中编写自己的代码基本一样,可以缺省的代码也不需要使用。

3.软件实现

       3.1第一种方法:通过Delphi的控件TOleContainer 将Office嵌入,操作方法如下:

(1)    调用Delphi中System页控件ToleContainer实现;

(2)    双击OleContainer,出现如下界面:

(3)这时你可以进行选择了,选择“由文件创建”,选择相应的文档,及就简单的实现了将OFFICE文档调入的功能;如下图:


3.2第二种方法:使用Delphi提供的Servers控件调用Office;它使得我们很容易地把Office中的应用程序(Word, Excel, PowerPoint, Outlook and Access等)当作一个com应用服务器进行控制,以Word为例,介绍其实现方法:

(1)    调用TwordDocument(建立Word文件对象)、TwordApplication(启动Word并建立同Word的连接) 、TwordFont(设置Word文件的字体)、TwordParagraphFormat(设置Word文件中的段落格式)控件;

(2)    启动Word,通过TwordApplication实现;

Try

Wordapplication.Connect;

Except

MessageDlg(''''Word may not be installed'''', mtError, [mbOk], 0);

Abort;

End;

                     (3)创建一个新的文件,通过TwordApplication实现;

                            Template := EmptyParam;  //表示不使用模板

NewTemplate := False;  //表示新建新建文档的类型为文档,

//添加新文档

WordApplication.Documents.Add(Template, NewTemplate);                                       WordDocument.ConnectTo(WordApplication.Documents.Item(ItemIndex));

//关闭拼音查找和语法查找,以便提高程序运行的效率

WordApplication.Options.CheckSpellingAsYouType := False;

WordApplication.Options.CheckGrammarAsYouType := False;

(3)    插入数据,通过TwordDocument实现;

//文本

WordDocument.Range.InsertAfter(''''Oracle数据库''''+ chr(#13));

//表格

WordDocument1.Tables.Add(WordDocument1.Range,rownum,colnum,template,newtemplate); //其中rownum是表格行数,colnum 是表格列数

//向表格中插入数据

WordDocument1.Tables.Item(1).Cell(1,1).Range.Text:=''''证书编号'''';

WordDocument1.Tables.Item(1).Cell(1,2).Range.Text:=''''身份证号码''''

(4)    格式的设置

WordFont.ConnectTo(WordDocument.Sentences.GetLast.Font);//设置某些文字

WordFont.ConnectTo(WordDocument.Paragraphs.GetLast.Font);//设置某段文字

WordFont.Bold:=1;

WordFont.Italic:=1;……………………

WordDocument1.PageSetup.HeaderDistance:=1.5; //设置页边距

WordDocument1.PageSetup.FooterDistance:=1.75;

//设置页眉页脚 

WordDocument1.ActiveWindow.ActivePane.View.SeekView:=wdSeekCurrentPageFooter;                        WordDocument1.ActiveWindow.ActivePane.Selection.InsertAfter(''''第''''+inttostr(wdFieldNumPages)+''''页'''');

//让页脚向右靠齐

WordDocument1.ActiveWindow.ActivePane.Selection.ParagraphFormat.Alignment:=wdAlignParagraphRight;

…………………………

3.3第三种方法:使用CreateOleObject将启动Office,然后以Ole方式对Office进行控制。以Excel表格为例(表格的格式可以是事先设定好的,也可以是自己自由定义的,这里以事先设定好表格的格式为例),进行说明:

(1)       在Uses中添加Comobj类;

(2)       申请一个全局变量:FvExcel ,类型为Variant; 表示是Excel对象

(3)    定义一个函数用来启动Excel,如定义function OpenExcel(strFileName : string) : Boolean;

Function Tform1. OpenExcel(strFileName : string) : Boolean;

[1] [2]  下一页


[聊天工具]Microsoft Office 2007简体中文版最新截图  [聊天工具]Office 2000 服务器扩展
[聊天工具]Office 2000应用技巧两则  [聊天工具]遭Adobe反对 Office 2007被迫放弃PDF支持
[聊天工具]Office 2007中的拼音输入法简单试用_办公软件_Off…  [聊天工具]Office 2007 Beta2简体中文版开始内测_办公软件_O…
[聊天工具]Office 2007有终极版 售价高达679美元_办公软件_O…  [聊天工具]新手入门:Office 2003轻松安装
[聊天工具]WPS Office文档双面打印边距设置方法  [聊天工具]在WPS Office中打造自己的素材库
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台