使用后期绑定来自动化 Word 会引发 MissingMemberException

发布于 2024-10-05 07:06:02 字数 392 浏览 4 评论 0原文

我正在尝试使用以下代码从正在运行的 Microsoft Word 应用程序访问一些信息。

object appClass = Marshal.GetActiveObject("Word.Application");
object documents = appClass.GetType().GetProperty("Documents");
object count = documents.GetType().InvokeMember("Count", BindingFlags.GetProperty, null, documents, null);

当我运行此代码时,它告诉我找不到 Count 并引发了 MissingMemberException。

谁能告诉我我做错了什么?

i am trying to access some information from a running Microsoft Word application using the following code..

object appClass = Marshal.GetActiveObject("Word.Application");
object documents = appClass.GetType().GetProperty("Documents");
object count = documents.GetType().InvokeMember("Count", BindingFlags.GetProperty, null, documents, null);

When i run this code it tells me that that Count was not found and has thrown a MissingMemberException.

Can anyone tell me what i am doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苯莒 2024-10-12 07:06:02

您没有获得对 Documents 对象的引用,GetProperty 返回 PropertyInfo。修复:

        object appClass = Marshal.GetActiveObject("Word.Application");
        object documents = appClass.GetType().InvokeMember("Documents", BindingFlags.GetProperty, null, appClass, null);
        object count = documents.GetType().InvokeMember("Count", BindingFlags.GetProperty, null, documents, null);

添加对 Microsoft.Office.Word.Interop 的引用可以使这很多减轻痛苦。

You didn't get a reference to the Documents object, GetProperty returns a PropertyInfo. Fix:

        object appClass = Marshal.GetActiveObject("Word.Application");
        object documents = appClass.GetType().InvokeMember("Documents", BindingFlags.GetProperty, null, appClass, null);
        object count = documents.GetType().InvokeMember("Count", BindingFlags.GetProperty, null, documents, null);

Adding a reference to Microsoft.Office.Word.Interop can make this a lot less painful.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文