3

我是办公室互操作的新手,但我一生都无法弄清楚如何获取与当前打开的单词 application 相关的 Application 或 Document 类的实例(即不创建新的) . 这可能吗?

4

1 回答 1

3

已经有一段时间了……也许现在有一种更简洁的方法,而不必使用 C Sharp 中的 Visual Basic;将 C Sharp 与 Office 互操作一起使用最近得到了改进。我从非常旧的代码中挖掘出来,但我经常使用它:

using Microsoft.VisualBasic;
Application wordApp = (Microsoft.Office.Interop.Word.Application)Interaction.GetObject(null, "Word.Application");

注意第一个参数使用 null PathName。使用空字符串将返回 Word 应用程序的新对象实例。如果省略PathName,GetObject将返回当前活动对象。

您可能想包装一个try/catch,如果发生 COM 异常,请使用CreateObject(除非这些新奇的编程实践称之为不好的实践)

于 2013-06-15T15:49:38.227 回答