本帖最后由 drlsdrls 于 2013-10-10 12:11:16 编辑

解决方案 »

  1.   


    CRange range2;
    range2 = range.get_Item(COleVariant((long)idx),COleVariant((long)1)).pdispVal;
    vResult = range2.get_Value2();
     
      

  2.   

    试着写了几段测试代码,发现就第一行可以正确读取数据,第二行开始都是错的乱七八糟,求高人指点
    range.AttachDispatch( range.get_Item(COleVariant((long)7),COleVariant((long)1)).pdispVal );
    vResult = range.get_Value2();//这行对的 range.AttachDispatch( range.get_Item(COleVariant((long)4),COleVariant((long)1)).pdispVal );
    vResult = range.get_Value2();//这行错的 range.AttachDispatch( range.get_Item(COleVariant((long)5),COleVariant((long)1)).pdispVal );
    vResult = range.get_Value2();//这行也错的
      

  3.   


    我懂你意思了,你是说再定义一个range2是吗?我按照你说的做了发现错误消失了,我想问问为什么同一个range自己attachdispatch自己就不行呢?