先取注册表里的有关Excel的安装信息.
在Registry.ClassesRoot.OpenSubKey ("Excel.Sheet.8\\shell\\new\\command")
判断如果值(字符串,就是Excel的启动目录)中含有"Office 10"就是office XP版,
"office 9" 就是office 2000.
然后根据不同的版本来调用不同的方法.

解决方案 »

  1.   

    通过注册表来判断是office 2000还是XP.
    Registry.ClassesRoot.OpenSubKey ("Word.Sheet.8\\shell\\new\\command");
    然后用条件编译.
      

  2.   

    问题是,我面对的客户端有WIN2K,也有WIN XP。条件编译不能解决这个问题。
      

  3.   

    sorry, 是OFFICE 2000和OFFICE XP。
      

  4.   

    关注。ms做的真是一个“烂”啊。害的我搞好的程序到客户那里运行不成,因为我在office2000下编译的,人家装的是 officeXP
      

  5.   

    dll hell
    以前我遇到这种情况一般都是分别做两个安装程序,对应不同版本.
      

  6.   

    我的也是,OFFICE2000 做的OFFICE97 不能用.
      

  7.   

    我使用excel2000的动态链接库,系统安装office xp仍然可以正常运行。