程序需要引用Excel处理数据,按普通的方法引用生成程序后在不同环境的机子问题一大堆,有的装的Office版本不同,有的装的是精简版,有的根本就没装,这些情况下运行程序都会提示无法创建Acivex然后关掉。。根本就运行不了而我程序里面却不是非要用到这个功能的,但是因为这个问题却全部都用不了。请教有没有办法用代码判断用户有没有装Excel然后再用代码引用,让程序适应不同版本的Excel甚至没有装Excel也能运行???如果有最好给出代码。。在下比较小白,单说理论是不懂的谢谢。。

解决方案 »

  1.   

    http://download.csdn.net/source/2767998
      

  2.   

    还有就是尽量使用低版本的Excel。通常情况下高版本是兼容低版本的。
      

  3.   

    大哥你给那个“Access数据库驱动文件”干嘛啊?我不可能要求别人都装这玩意的吧。。那还不如直接叫别人装Excel来的干脆呢
      

  4.   

    。这样不是很科学。。DLL越多越容易出问题啊。。而且我之前是打包成绿色版的,这些Dll只是放在目录下行不行的??没有进行安装的话这些文件不是要别人自己去注册?
      

  5.   

    如果对性能要求不高的话,可以使用后期绑定.参考我7楼的回复,道理是一样的:http://topic.csdn.net/u/20110521/23/aa90fae2-8a22-4a89-a01c-98596f37f89e.html
      

  6.   

    谢谢老马还有巫师。。采用了老马的办法已经OK。但是出现了个新问题,因为程序里可以选择保存数据为.xls和.xlsx格式,原来不是用代码引用时保存为xls格式时好像没问题,但是现在保存为xls格式会出错了。
    xlSheet.SaveAs sFileName, xlExcel8, , , , False '97-03版格式
    上面这个xlExcel8就是数据格式,现在这里认不出来Dim xlExcel8这样定义也不行。。要怎么办呢?
      

  7.   

    还有网上找的这段,格式是照搬Excel里的宏,在VB里完全格式错误,去掉=号的那段也不行
    xlSheet.SaveAs filename:= "yourpath\yourExcellName.xls ",   FileFormat:=xlExcel8,Password:= "",   WriteResPassword:= "",   ReadOnlyRecommended:=False, CreateBackup:=False
      

  8.   

    研究了半天发现xlExcel8是对应一个数值的..终于解决了..结帖