Dim ObjExcel As New Excel.Workbook
 Set ObjExcel = Workbooks.Open("C:\CrmDataForm\CRMDataForm.xls")需要对excel操作,程序里写如上的写法。是在dll文件里写的。为什么有的机器运行正确,有的机器根本无法运行,有的机器需要在自己的机器上打开编译一下才能正确运行报错信息是无法创建ActiveX控件
主要是IIS  调用DLL

解决方案 »

  1.   

    应该是引用Excel版本的问题,你创建dll的时候引用的Excel版本与使用dll的机器上的Excel版本不一致引起的创建dll时,不要引用Excel,然后把Dim ObjExcel As New Excel.Workbook这个语句改一下:
    Dim objExcel As Object
    Set objExcel=CreateObject("Excel.Application")
      

  2.   

    别用直接引用的方法用CreateObject方法来加载对象。
      

  3.   

    当然,如果你使用dll的机器上没有Excel,即使用Set objExcel=CreateObject("Excel.Application") 语句,仍然会出错
      

  4.   

    同感...Set objectExcel = CreateObject("excel.application")
    这种方法更好.
      

  5.   

    当时是为了省一点
    本来想这样写的
    Dim objExcel As Object
    dim objWook  As Object
    Set objExcel=CreateObject("Excel.Application")
    set objWook =objExcel.Workbooks.Open("C:\CrmDataForm\CRMDataForm.xls")2楼说的有道理有可能是excel版本问题,我自己机器用的是office 2003 其他机器是2000
      

  6.   

    Microsoft VBScript 编译器错误 错误 '800a03f6' 缺少 'End' /iisHelp/common/500-100.asp,行242 crmDataForm 错误 '80010108' Automation 错误 /lietou/test/CrmDataForm.asp,行11 修改了一下后运行出现上述错误,请高手指点,但是excel文件正确写到指定的目录去了。