- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#操作word
我们都知道, Office 是基于 COM 组件技术开发的,属于非托管程序,然而 C# 使用的都是托管程序,那么如何使用非托管的 COM 组件就是我们操作 WORD 的第一个问题。所幸的是, .NET FRAMEWORK 提供了一种不同种类类库的转换工具 tlbimp,exe ,通过这个转换工具,我们可以把 COM 组件转化为 .NET FRAMEWORK 可以直接调用的 DLL 文件。
接下来就是转化工作了, Office 组件都可以在 C:Program FilesMicrosoft Office 目录下找到,当然安装的 Office 版本不同,子目录是不一样的。笔者使用的是 Office 2007 ,可以在 C:Program FilesMicrosoft OfficeOffice12 目录下找到 MSWORD.OLB ,这个是 WORD 组件的类库文件,还可以找到 MSACC.OLB 操作 ACCESS , MSPPT.OLB 操作 PPT , XL5CHS32.OLB 操作 EXCEL 。载入不同的组件就可以完成对不同 Office 组件的操作。使用 tlbimp,exe 工具转化 MSWORD.OLB 文件后可以得到三个 DLL 文件, Office ,dll , Visual BasicIDE.dll , Word .dll 。最后在编译文件的时候,记得将这三个 DLL 文件载入,命令如下:
csc /r:system.dll /r:system.windows.forms.dll /r:system.drawing.dll /r:office .dll /r:vbide.dll /r:word .dll word .cs
笔者使用 Visual Studio.NET 2005 编译环境,通过 IDE 提供的功能可以大大简化我们对组件转化的工作,并且在编译时也不需要输入那么繁杂的语句,非常方便了。下面介绍一下 IDE 载入 Office 组件的方式。
在菜单栏选择“项目”-“添加引用”,弹出的窗口中我们可以选择“ COM ”选项卡,找到 Microsoft Office 12.0 Object Library ( Office 2003/2007 需要使用 12.0 版的,如果你使用的是 Office 2000 或者更低的版本,只要载入 10.0 版的就可以了),确定后引入 . 也可以在“浏览”选项卡下找到我们上面提到的 MSWORD.OLB 文件,引入即可。引入后我们可以发现在解决方案中,引用目录下多了三个文件 Microsoft .Office .Core , Microsoft .Office .Interop .Word , VSIDE 。这说明引用文件成功,之后在编译程序的时候,在 Debug 目录下会生成两个 DLL 文件, Interop .Microsoft .Office .Core.dll , Interop .Microsoft .Office .Interop .Word .dll 。完成组件的引入,下面就可以开始程序设计了。
先看一下 Word 对像模型
?
?
?
?
?
Application :用来表现 WORD 应用程序,包含其它所有对象。他的成员经常应用于整个 WORD ,你可以用它的属性和方法控制 WORD 环境。
Document : Document 对象是 WORD 编程的核心。当你打开一个已有的文档或创建一个新的文档时,就创建了一个新的 Document 对象, 新创建的 Document 将会被添加到 Word Documents Collection 。
Selection : Selection 对象是描述当前选中的区域。若选择区域为空,则认为是当前光标处。
Rang :是 Document 的连续部分,根据起始字符和结束字符定义位置。
Bookmark :类似于 Rang ,但 Bookmark 可以有名字并在保存 Document 时 Bookmark 也被保存。
?
在编程中使用到的代码如下,注释比较详细,这里就不再具体的说明。
??????? //Word 程序对象
??????? private Microsoft .Office .Interop .Word .Application WordApp = new Microsoft .Office .Interop .Word .Application ();
??????? //Word 文档对象
??????? private Microsoft .Office .Interop .Word ._Document aDoc;
?
?????
文档评论(0)