Delphi与Office协同工作.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Delphi与Office协同工作

Delphi与Office协同工作 (第一次贴有格式的文章,具体不清楚怎么弄。附录中有图片和缘程序等我做成chm格式后再传。) 一、?? 需要明白的基本原理主要有两个方面: 1、?????????Office 由于Office各个组件都是以对象和其方法、属性提供给我们的,只要安装了相应版本的Office后操作系统就会注册这些以COM方式提供给我们的各个对象。我们就可以在程序里使用语句创建这些COM对象并和他们进行通信从而完成一些自动化的工作。所以在实际编程前必须了解他为我们提供了哪些COM对象,每个对象提供的方法和属性,以及分别可以实现什么功能。由于Office组件的方法接口都比较规范,所以一般只需要了解其中一个组件后(比如Word)对于其他的联系帮助就可以很快上手的。 本文档附录1部分介绍了如何安装,使用来自Office的编程资料,其中有详细的对象名和其属性方法。 2、?????DelphiOffice的接口 在Delphi里面控制和使用Office对象其实是很方便的,因为Delphi提供了方便的支持COM编程的一些特性,我们只需要按照约定创建特定的COM对象就可以完全象使用Delphi组件一般使用这些COM对象了。需要了解的就是在Delphi下面如何创建Office的各种对象以及该Office对象有哪些方法和属性(如果你仔细阅读Office的相关编程资料,你就不需要检索而可以直接使用了。相信大多数开发者都装有Office系列了,那么恭喜你~!)。 二、?? 在使用目标对象的属性、方法或者事件之前,必须创建一个对包含所需属性、方法或事件的对象的引用变量(该变量仅仅存在,但是没有引用到实际需要的对象上,这时还不可调用其方法以及属性),然后通过一定的方法使变量引用到真实存在的对象上,你就可以通过变量任意操作该对象了。 这个其实也很简单,如果你实在不明白COM和OLE自动化是怎么会事,你只需要记住这些初始化代码就可以到你的程序里面尽情发挥了,因为我说了的,后面的过程就如同你使用Delphi组件那么简单,前提是你必须了解该组件也就是你必须熟读Office相关文档,呵呵。 ???????注意:我是在Word下面编写的该文档,所以在你copy代码到Delphi IDE下面时请记得修正格式和中文标点的错误!“在没彻底明白别人的代码之前,永远不要直接Copy”,我的格言,嘿嘿。 1、?????????Office对象的连接 在Delphi里面使用或者说控制Office其实有两种方法可以实现: 1、????????????Delphi组件面板上的Office系列组件,和使用其他任何组件一样来作为普通组件使用。该方法最简单不过,同时你还可以在Delphi IDE下面得到关于该组件的一系列帮助和代码自动完成以及语法检测。 说明:你所选择的这一些Office组件只是针对某一种版本的Office的,该版本的选择提示会在你安装Delphi的时候让你选择,有Office97,2000和XP等,具体看你安装的Delphi的版本。需要说明的是,一旦你选择了Office的版本后,你在Delphi的组件面板的server页下面看到的关于Office的系列组件都将是基于该版本的Office,同样你一旦在工程中使用该系列组件的时候自动代码完成功能所给出的代码提示也将是基于该版本的方法、事件或者属性(确切的说是基于该Office版本的而且被borland所认可并翻译到Delphi里面的那一部分而已。就我所知,在安装Delphi的时候无论你选择什么版本的Office,有一些对象的方法和属性,在Delphi ide环境下你无法通过自动完成或者提示功能得到,但是有一部分可以使用,前提是你手动编写代码)。也就是说,该方法虽然方便(使得你控制Office和控制一般控件一样方便)但是也有一定的局限性,那就是你在Delphi里面所能够得到的帮助和代码自动完成都是局限于该Office版本的,甚至你如果使用了不同于该版本的Office所提供的对象或者方法等,你将不能够编译通过,但事实上该方法在该版本的Office所提供的方法中确实存在。很遗憾的告诉你,这就是这种方法唯一的毛病了,呵呵!不过别急,不是还有一种方法么? ? 2、??OLE自动化的对象,我们写程序的时候Delphi甚至不会知道我们在干什么或者想干什么,但是只要你的程序是对的,运行的时候Windows会知道怎么干的,呵呵!同样的该方法有优点也有缺点了。 优点:使用该方法你不必局限于你在安装Delphi的时候所选择的Office版本,你可以调用任何你所能够知道的Office所提供的对象以及其方法而不必等到别人或则borland为你写一个该版本的Delphi组件。当然,前提是你能够正确使用语句和合理的调用了。也就是说,虽然你自己的

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档