.net中操作word 引用的Dll

项目->添加引用->Microsoft Word 11.0 Object Library

我们在Visual Studio中添加一个对Word COM组件的引用(WordCOM组件列表中是“Microsoft Word 11.0 Object Library”,相似的,ExcelOutlookPowerPointCOM组件名称都遵循这个规律)。

Office PIA按照Office的各个组件(WordExcelPowerPointOutlook等),分成多个单独的程序集。比如Word对应的PIA程序集是Microsoft.Office.Interop.Word.dll(程序集里面的类都放在命名空间Microsoft.Office.Interop.Word中),Excel对应的程序集是Microsoft.Office.Interop.Excel.dll(程序集里面的类都放在命名空间Microsoft.Office.Interop.Excel中)。另外,Office公用的一些组件(比如菜单栏)放在一个单独的程序集中:Office.dll(对应的命名空间是Microsoft.Office.Interop.Core)。


点击OK按钮后,在项目管理器中就可以看到,Visual Studio已经帮我们引用了需要引用的组件。实际上,除了我们选择要引用的Word组件外,其他额外但是必需的诸如Microsoft.Office.CorestdoleVBIDE等组件也已经被自动引用进来了。

年前做过,可是刚刚,因为Word\ VBIDE没有引用,编译通不过,又花了好长时间查到。现记于此,我的破脑袋啊。


1)很多的Office编程接口中的方法,都带了非常多的参数(比如Document.SaveAs()方法有16个参数),而实际上我们调用它们的时候,并不是每一个参数都需要明确给一个特定的值的(比如Document.SaveAs()方法只需要明确给定第一个参数,即保存到哪里),那么对于不需要给定明确值的参数,我们可以直接传一个.Net类库中自带的静态对象:Type.Missing就可以了。

2)很多的Office编程接口中的方法,其参数都必需传引用,而不能传值,所以,调用这些方法的时候,对于参数都需要加上C#中的ref关键字。比如上面代码中的Document.Add()Document.SaveAs()Document.Close()方法,它们的参数都必须传引用,所以每个参数前面都加上了ref关键字。

Word对象模型:
Application
    Document
       Bookmarks  Range
       Range      Bookmarks
    Selection
       Bookmarks  Range
       Document   Range /Bookmareks
       Range      Bookmarks

Application:用来表现word应用程序,包含其它所有对象。他的成员经常应用于整个word,你可以用它的属性和方法控制word环境。
Document: Document对象是word编程的核心。当你打开一个已有的文档或创建一个新的文档时,就创建了一个新的Document对象,新创建的Document将会被添加到Word Documents Collection.
Selection:Selection对象是描述当前选中的区域。若选择区域为空,则认为是当前光标处。
Rang: 是Document的连接部分,根据起始字符和结束字符定位位置。
Bookmarks:类似于Rang,但Bookmark可以有名字并在保存Document时Bookmark也被保存。





原文地址:https://www.cnblogs.com/flashicp/p/748717.html