c# - 如何使用后期绑定(bind)访问 Microsoft Word 现有实例

标签 c# automation ms-word late-binding activator

我正在用 C# 开发一些代码,我将在其中与 Microsoft Word 进行交互。我希望能够选择重新使用现有实例或创建新实例作为替代方案。

请记住,我想使用 LATE BINDING 来完成所有这些操作......可以肯定地说,我已经想出了在创建新实例时如何让事情正常进行......我只是调用 Activator.CreateInstance 等..

我遇到的问题是如何重用现有实例,例如,Word 已经打开,我想使用该实例。

是否有 Activator.UseExistingInstance?或类似的东西??

谢谢!

最佳答案

您正在寻找 Marshal.GetActiveObject。

object word;
try
{
    word = System.Runtime.InteropServices.Marshal.GetActiveObject("Word.Application");
}
catch (COMException)
{
    Type type = Type.GetTypeFromProgID("Word.Application");
    word = System.Activator.CreateInstance(type);
}

关于c# - 如何使用后期绑定(bind)访问 Microsoft Word 现有实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2203968/

相关文章:

javascript - 应用程序中所有语言的名称大小写约定

带约束的 C# 模板

c++ - 在运行时创建测试(谷歌测试)

vba - Word 2007 vba - 样式不通过宏应用

PHPWord 将一行中的某些单词加粗

c# - 在性能方面有什么更好的?类型 [,] 还是类型 [][]?

c# - 将 DATETIME 数据类型保存到 MySQL

algorithm - 树递归斐波那契算法需要线性空间?

linux - ftp 将更改的文件推送到服务器

excel - 如何从Word文件中提取标题到Excel?