各位,最近一个问题困扰了我很久:
excel中有DATE类型的数据:2011-9-6,我用range.get_Value2().date读取到了DATE my_date中。现在我要在excel中查找这个数据,用range.Find(_variant_t(my_date), vtMissing,vtMissing,vtMissing,vtMissing,_variant_t((long)1),vtMissing,vtMissing,vtMissing);这样运行时会报错,无法查找到数据。
而如果把my_date定义为COleDateTime类型,然后用CString TimeStr =my_date.Format(_T("%Y-%m-%d")); 这样的话,得到的TimeStr为2011-09-06,还是查找不了这个数据。
我该怎么办才能实现这个查找功能呢?

解决方案 »

  1.   

    要搞成2011-9-6,试试这样:
    my_date.Format(_T("%Y-%#m-%#d"));
      

  2.   

    非常感谢,这样果然可以了!
    不知您对range.Find这个函数了解不?第一个参数中,如果使用的char *类型,便可以成功查找;而如果是CString类型,则不行。我试了很多种方法,也没有成功的把CString转换为char *。。
    如果我想直接查找CString类型的,不知道该怎么做呢?或者您知道有什么好的办法把CString转换为char *吗?再次感谢!
      

  3.   

    原来是可以直接range.Find CString类型的数据的,是我弄错了!