我设计了一个Word的Addin工具插件A,又设计了一个可以插入Word文档的ActiveX控件B。我想实现当按了A中的一个按钮之后,A能找到当前打开的Word文档中所插入的B控件,并可以读取B控件的属性以及调用B控件的方法。请问,这该如何实现?能不能从Word的类型库中的Document0对象入手?具体该如何做呢?

解决方案 »

  1.   

    你的B肯定是通过ole的方式嵌入的吧
    那遍历word文档肯定可以得到
    既然B是自己的做的
    那就提供一组接口给自己操作就是了
    想干什么还不是随便
      

  2.   

    尝试下通过_Application接口的Documents 方法得到所有文档的接口指针Documents ,然后可以通过Documents 里面的方法遍历文档,然后再遍历得到组件
      

  3.   

    能不能具体一些?我得到了_Document之后,看到里面与遍历内容有关的貌似只有get_Sections、get_Words、get_Sentences之类的,我该用哪个才能保证遍历的到我的控件。
      

  4.   

    好吧没有人回答,我自己回答了经过大半夜的拼搏,我终于找到了方法。要得到自己的ActiveX控件,可以用_Document的get_inlineShapes来遍历,它的每个元素是inlineshape,代表一个控件,使用它的get_OLEFormat能得到一个OLEFormat对象,该对象的object属性就是自己的控件B了。