无法输入类型的COM对象

时间:2017-06-08 10:46:23

标签: c# comobject

当我尝试使用Word互操作在页面上执行foreach形状时,我发现了一个奇怪的错误

我的代码如下

    foreach (word.Shapes p in pages[3].Application.ActiveDocument.Shapes )
    {
        p.SelectAll();
    }

我出于某种原因获得的例外情况是这样的,我不知道应该怎么做才能解决这个问题。

  

{"无法转换类型为' System .__ ComObject'的COM对象to interface type' Microsoft.Office.Interop.Word.Shapes'。此操作失败,因为QueryInterface调用COM组件上的IID' {0002099F-0000-0000-C000-000000000046}'由于以下错误而失败:不支持此类接口(来自HRESULT的异常:0x80004002(E_NOINTERFACE))。"}

1 个答案:

答案 0 :(得分:4)

Shapes是集合类型,但为了迭代形状,您必须使用Shape作为每个对象的类型。