基于VS 2005环境的MS office自动化开发之熟悉环境篇

作者: admin 分类: Windows api, 屏幕取词 发布时间: 2013-05-20 12:10 ė2,518 浏览数 6没有评论
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)

进行MS office自动化开发最好的工具或许是VBA,但是很多时候我们的应用系统往往和MS office的文件打交道,比如生成word文件和EXCEL报表等等,因此学习一下主流的开发工具关于MS office自动化的知识还是很有必要的。从今天起,我将推出一些基于VS 2005环境的MS office自动化开发的一些入门文章。第一篇是关于熟悉开发环境。

这次我使用的是VS C++ 2005。经过一番折腾,我感觉VS C++ 2005对MS office自动化开发的支持还比不上VC 6.0。我这么说是有根据的,因为基于VC 6.0和基于VS 2005环境的MS office自动化开发我都做过。在VC 6.0,你只需要找到TpyeLib那个dll文件(或tlb文件、olb文件),选择你要用的类,然后VC 6.0为你自动生成.h文件和.cpp文件,这样你就可以直接使用其中定义的类了。

我原以为VS C++ 2005会沿用VC 6.0的做法。但我发现VS C++ 2005采用了新的做饭,这也倒没什么,问题严重的是这种新的方式居然对MS office自动化开发支持比较的糟糕(Word操作部分)。

进行MS office自动化开发,做法基本都是选择MS office的组件,然后导出你要使用的接口类,这在VC 6.0和VS C++ 2005都是一样。下面我以一个简单例子说明一下VS C++ 2005的具体做法,对应的ms office版本是office 2003。

 

首先用VS 2005新建一个单文档工程Owner,然后为工程添加一个类,选择“TypeLib中的MFC类”,具体如下图:

 

单击“添加”按钮后出现下图,从下图我们看出VS 2005比VC 6.0的一点进步,这里多了一个导出来源:注册表。注册表的好处是名字直观,否则比如选择文件,你要操作word,你还要费一番心思去搜索操作word的类到底藏在哪个dll文件或olb文件、或tlb文件之中呢?

基于顾名思义的原则,我们在可用的类型库中选择Micro Word 11.0 Object Library<8.3>。这时出现一大堆接口类,我们也不知道该用哪个,干脆一古脑把它们全导入进来,具体如下图:

 

单击“完成”按钮后,你可以发现工程在一时之间出现了一大堆.h文件:CAddIn.h、CAddIns.h……你可能会疑惑,对应的cpp文件呢?对不起,VS 2005并没有为你生成。这时你或许感受到VS 2005和VC 6.0在office自动化开发的一点区别了吧。

既然一夜之间来了那么多新丁,先编译一下吧,OK,编译通过,这时你会说:VS 2005和VC 6.0的做法也不过大同小异罢了。先别那么早下结论,开始编码:

只回答业务咨询点击这里给我发消息 点击这里给我发消息

学习日记,兼职软件设计,软件修改,毕业设计。

本文出自 学习日记,转载时请注明出处及相应链接。

本文永久链接: https://www.softwareace.cn/?p=445

0

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


Ɣ回顶部

无觅相关文章插件,快速提升流量