Word 互操作不提取数据

Word Interop Not Extracting Data

我使用的是 Word 2016,但无法从对象获取数据。

我的代码片段是这样的:

    void Application_DocumentOpen(Word.Document document)
    {
        var test = document.Paragraphs;
    }

在作业查看段落之前给出:

方法 Microsoft.Office.Interop.Word.DocumentClass.get_Paragraphs() 调用的评估需要 COM 调用。在此上下文中不支持对 COM 对象的方法求值。

在它简单给出之后:System._ComObject 成员 NativeView 具有 0x0df4fd18

我尝试搜索这两个错误,但没有找到相关结果。

更新 所以我将其与他们给出的示例进行了比较,即:

    void Application_DocumentBeforeSave(Word.Document Doc, ref bool SaveAsUI, ref bool Cancel)
    {
        Doc.Paragraphs[1].Range.InsertParagraphBefore();
        Doc.Paragraphs[1].Range.Text = "This text was added by using code.";
    }

巧妙的是,如果我查看 Doc.Paragraphs[1].Range.Text 他们的示例,我会得到该段落的文本。如果我尝试使用我的版本进行操作,我会得到:无法将 [] 的索引应用于 'Paragraphs'

类型的表达式

所以...段落没有返回我期望的结果。是否有可能是我无法访问该文档,因为该方法在加载之前就已触发?

显然只有被调用的 methods/properties 存在于 class 中。这是有道理的,因为它可以防止对象不断加载大量数据,但调试起来有点混乱。

无论如何,将测试更改为 doc.Paragraphs[1]。Range.Text 似乎使对象可见。