在这里,Office PIA为我们提供了一个小的“ cookie”。我们实际上可以使用“ new MSWord.Application()”来创建Word程序的实例。我们只需要知道Office PIA将自动帮助我们在下面创建一个真实的Word程序实例。接下来,我们将以下代码添加到btnStartWord按钮的事件代码中。对象缺失Type.Missing;对象sFileName“ C:\\ Sample.doc”; MSWord.Documents docs _wordApp.Documents; MSWord.Document doc docs docs.Add(拒绝,ref缺失,ref缺失,ref缺失); doc.SaveAs(ref sFileName,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失,ref缺失失踪); doc .Close(缺少参考,缺少参考,缺少参考);在上面的代码中,我们通过访问Application的Documents属性获得一个Documents类,然后通过Documents类的Add()方法创建一个新文档,并获得相应的。此新文档的类型是的对象。文档,然后通过Document类的SaveAs()方法将文档保存在磁盘上,最后通过Document类的Close()方法关闭新文档。
嗯,我知道我对解释的解释不够充分。上面代码中的引用和缺失内容是什么意思,为什么使用它们?我相信许会感到非常困惑(尤其是如果他们使用的是那些以VBA或其他语言访问Office COM组件接口的程序员)。这实际上涉及使用C#调用Office编程接口的“语法兼容性”问题。也就是说,当Office产品开发小组设计编程接口时,实际上是专门为VBA调用而设计的,因此这些接口与VBA语法非常兼容,从而使VBA程序员尽可能地方便。但是,由于C#语法和VB语法之间存在许多差异,因此在使用C#访问Office编程界面时,您会感到“尴尬”。在这里,我只想简单地解释上面的代码,如下所示:(1)Office编程接口中的许多方法都带有很多参数(例如,Document.SaveAs()方法有16个数字!!),以及实际上,当我们调用它们时,不需要为每个参数都明确地指定一个特定的值(例如,Document.SaveAs()方法只需要指定第一个参数,即在哪里保存它),因此对于参数不需要给它明确的值,我们可以直接传递.Net类库随附的静态对象:Type.Missing。
(2)Office编程接口中的许多方法必须传递对其参数的引用,但不能传递值。因此,在调用这些方法时,需要在C#中向参数添加ref关键字。例如,对于上述代码中的Document.Add(),Document.SaveAs(),Document.Close()方法,其参数必须通过引用传递,因此每个参数都以ref关键字开头。对该接口进行编程时,有关“语法兼容性”问题的更全面说明,请参阅“访问Office编程接口时Office-C#外部的“语法兼容性”问题。”继续向我们的项目中添加代码。 btnStopWord按钮在事件代码中,填写以下代码:对象缺失Type.Missing; _wordApp.Quit(ref缺失,ref缺失,ref缺失); _wordApp null; GC.Collect(); GC.WaitForPendingFinalizers(); GC。 Collect(); GC.WaitForPendingFinalizers();以上代码通过调用Application.Quit()方法退出Word程序。
更值得注意的部分是如何释放Word序列实例。上面的代码使用一种简单但有效的方法来关闭Word程序过程以进行回收。首先,将对象_wordApp重新分配为null,以使下面的Word Application对象不再被任何变量引用,最后通过强制调用它。.NetFramework中的垃圾回收方法使Application对象可以通过以下方式回收:垃圾收集器。 (实际上,.Net Framework的垃圾收集器仅回收Office PIA的包装对象,但是在回收包装对象之后,与Word程序相对应的COM组件对象将发现自己不再被任何其他对象引用。该引用count变为0,因此将真正释放COM组件。)如何确保Office程序在您自己的应用程序中关闭实际上是一个大问题。上述方法并非100%有效。有关此主题的更完整说明,请参阅文章“ Office .Net(二)之外-“关闭Office程序”)。我们的第一个演示程序已在此处编写,现在我们可以运行该程序,然后单击第一个按钮启动Word,然后在将其保存到磁盘之前操作Word创建一个新文档,然后单击第二个按钮以关闭Word。(此文档的摘要是如何访问编程界面的简要说明。 .net中Office的工作人员解释了Office PIA的概念和用法,从本文中我们可以看到,在.Net中操作Office非常简单明了,Microsoft通过提供Office PIA .Net大大简化了该过程。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-320679-2.html
这些军舰有什么用
虚构诋毁攻击竞争对手
最终还是人在操作
选择新的