VC 之 Office 自动化开发 去年底老板临时交给一个任务,为一个试验数据管理系统编写一个电子报告生成程序。因为老板也不怎么重视这个项目(钱少啊,呵呵),所以这个任务只好落在我这种小硕身上了。我也是两眼瞎,万事从头干。三个月的苦斗,还算圆满交差。用 VC 进行 office 自动化开发,网上有很多文章,我本不想在此画蛇添足。只是感于自己查资料时的苦痛,所以就厚着脸皮把一些心得拿出来见见阳光,有一些技术还是自己摸索出来的。最后,office 自动化开发与我专业无丁点关系,希望此文不至于太班门弄斧让你看得难堪,如果尚有所帮助,那真是不胜荣幸(本文只涉及如何解决问题,没有原理,所以,Don’t ask me w hy) 1 前话 本文中,只讲述如何使用 VC++(就是 MFC)进行 WORD、EXCEL 自动化开发。有几个问题先交待于此。 (1) office 开发之 VC 与VB 实现之比较。事实上,MFC 实在不适合进行 office 自动化开发。相对 VB 而言,C++是一种强调类型的语言,这使得在实际编程时通常搞得你非常烦躁,不停地返回一些毫无意义的对象或指针(鸡肋啊!),而且整个程序会显得非常冗长。VB 这种属性化的编程语言则非常适于自动化开发。 (2)office 版本。在你提交帮助文档的时候,一定要说明你是针对哪个 office 版本开发的,否则不同的 office 版本可能会导致程序无法正常运行,因为不同版本的 office 提供的接口函数可能是不同的(特别是使用 VC 开发这个问题就比较明显,不知 VB 是否有同样的问题)。本文中所述的是 office20003 版本。 (3)两个重要的学习来源。初学 office 开发,两个不可忽视的学习来源是:w ord 本身的VBA 宏代码和微软官方网站。录制的 VBA 宏代码可以给我们提供非常有用的思路,而且通过调试可以获得很多所需的参数值(因为 MFC 通常并不支持很多 VBA 宏)。微软官方网提供了许多非常实用的技术文献(本文涉及的一些技术就来自于 MSDN),如果英文基础还可以的话,建议到英文 MSDN 上去看看,那里的资料要比中国 MSDN 多。 (4)由于所有权的一些问题,所以不能提供源代码,也许会给阅读带来一些不便,这点希望谅解(而且那代码确实太臭,被我们的大师兄客气地批评得体无完肤,也就不敢拿出来献丑了) 2 自动化技术简述 自动化(以前称为 OLE 自动化)是一种允许您利用现有程序的功能并将其合并到您自己的应用程序中的技术。自动化是建立在组件对...