我正在使用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”类型的表达式
所以......段落没有回归我的期望。是否有可能我无法访问该文档,因为该方法在加载之前就已经开始了?
答案 0 :(得分:0)
显然,只有已调用的方法/属性存在于类中。这是有道理的,因为它可以防止对象不断加载大量数据,但调试有点令人困惑。
在任何情况下,将测试更改为doc.Paragraphs [1] .Range.Text似乎已使对象可见。