如题,请接触过的高手给指点一下

解决方案 »

  1.   

    录制宏,代码是这样的:
    ActiveSheet.OLEObjects.Add(ClassType:="MSGraph.Chart.8", Link:=False, DisplayAsIcon:=False).Activate
    MsgBox ActiveSheet.OLEObjects(1).Name
    Range("F20").Select但是,VC中ActiveSheet中有个方法:OLEObjects,返回的是IDispatch类型的一个指针,如果通过这个指针得到OLEObject的Name啊?
      

  2.   

    是得到表的名字吗?我前段时间传过一个程序在CSDN的下载里面,你可以参考一下.
      

  3.   

    Excel引入的类里有OLEObjects类
    这个类里包含GetSourceName 
      

  4.   


    但是,返回的是IDispatch类型的一个指针,如果通过这个指针得到OLEObject的Name啊?
      

  5.   

    定义一个OLEObject类型的指针,也指向这个OLEObject实例.
    也就是用返回的是IDispatch初始化这个OLEObject指针.
    这样就可以调用Name属性了.不知道你说的是不是这个意思
      

  6.   

    OLEObjects Ob(pIDispatch);
    TRACE( Ob.GetSourceName() );
      

  7.   

    两位说的正是我想要的,非常感谢,正在测试呢,调用GetSourceName时出现了异常,查找原因中……
      

  8.   

    调用Invoke的时候找不到成员可能是哪里的问题啊?
    我的OLEObject对象找到了,然后调用Invoke的时候提示找不到成员。
      

  9.   

    对于office的操作,如果不会弄了。可以使用录制宏,观察生成的代码,改成vc++的即可
    这样做很方便
      

  10.   

    我先录制宏,然后把宏里的代码翻译成VC的,Excel中对象的访问顺序也是和VBA中的一致啊
      

  11.   

    用VC可以操作Excel中的控件吗?
    有一个控件,控件没问题,已经测试过了;在Excel中使用VC调用该控件,可以吗?
    通过OLEObjects的Add把控件添加到Excel文档中,调用Invoke的时候提示找不到成员