声明:这是转载过来的
地址为:http://bcwchina.51aj.com/YTBlog/ArticleDetail.aspx?ArticleID=A000444945
做了一个多月的C#生成Word文档的工作,我从一开始的对这个一窍不通,到现在的顺利完成了这个功能模块,其中还是有点心得的。想想自己说不定以后还会用到,于是想吧这些心得写下来,以供自己以后的学习。同时也希望对那些正在或正要编程实现自动生成Word的朋友有些小小的帮助。
下面是我自学C#生成Word文档的过程(首先必须安装好Word2003和.NET2003

一、下载Word的VBA编程参考手册和网上的在线资料
微软大概觉得VB用的人太少了,想大力发展之,搞得Office编程的参考手册都是VBA编程,害的我不懂VB的人也不得不学。不过没办法,要做这个工作,微软的参考手册是不能少的,可以从http://msdn.microsoft.com/office/downloads/vba/default.aspx这个页面中下到相应的的Office(本人使用的是Word2003,但好像只用WordXP的参考手册)的VBA Language References(当然这个文档是全英文的,看她简直是我的噩梦)。没有必要看完这个参考手册,只要搜索需要的函数,然后看看就可以了。
有了这个参考手册是远远不够的,我们需要去网上搜集大量的现成代码来看看才能快速的上手。下面是一个微软老大提供的关于C#生成Word的中文How To文档,感觉很好,分享一下



二、编程实现:通过查看Word宏代码完善自定义类库
有了这样一个大致的框架以后,我们就可以开始用C#开始实现各种Word操作的功能。总的来说,这项工作不难,但很繁琐(要看你对Word操作的熟悉程度
)。

一般情况下,自动生成的Word文档会有一个模板Word文件(以.dot结尾,当然模板本身也可以是.doc的Word文档)。在这个模板中,我们先设计好要导出文档的总体框架,在那些需要插入文字的地方先做好书签。在这个工作中,我们最常用到的就是书签,使用书签的好处是方便快捷,Word文档中的差不多所有的定位都是通过书签来完成的。为了了解一个Word操作的具体编程实现,我们可以通过Word自带的宏编程:在进行想要了解的操作之前,先录制宏,操作完后再查看刚才录制的宏代码,这样我们就得到了进行这个操作的VB编码。如:我们需要查看Word生成一个Table表的动作是怎样的,我们可以先在进行插入Table前录制宏,然后在Word中进行一个插入Table的操作,再停止宏,这样我们就可以看到一个插入Table的宏代码了。下面就是一个插入最简单的Table的宏代码: