请大侠帮忙:我在用VB导出EXCEL时,
代码如下: Dim myExcel As New Excel.Application
           myExcel.Workbooks.Add(执行到该行时就弹出错误:error in loading dll)
使用类库是:Microsoft Excel 9.0 Object Library
在线等待......

解决方案 »

  1.   

    Public xExcel As Excel.Application
    Public xBook As Excel.Workbook
    Public xSheet As Excel.Worksheet
    Set xExcel = New Excel.Application
    Set xExcel = CreateObject("Excel.Application")
    Set xBook = xExcel.Workbooks.Open(strSource)
    Set xSheet = xExcel.Worksheets(1)
    xSheet.Activate
      

  2.   

    好象是你的excel类库有问题吧!~
    一般这样就可以了的
    Dim myExcel As New Excel.Application
             set myexcelbook=myExcel.Workbooks.Add(执行到该行时就弹出错误:error in loading dll)
      

  3.   

    If IsNull(uObjExcel) Then Set uObjExcel = New Excel.Application
        uObjExcel.Application.Workbooks.Open FileName:=App.Path & "\Report\DZD.xls"    ', ReadOnly:=True
        
    我也行呀。
    其中,uObjExcel是窗体级的New Excel.Application对象。
      

  4.   

    把你的都去掉,
    '代码如下: Dim myExcel As New Excel.Application
    '           myExcel.Workbooks.Add(执行到该行时就弹出错误:error in loading dll)
    '使用类库是:Microsoft Excel 9.0 Object Library
    試試用這個:    Dim SourceXLS As Object
        Set SourceXLS = CreateObject("Excel.Application")
        Dim TargetXLS As Object
        Set TargetXLS = CreateObject("Excel.Application")
      

  5.   

    '====================================================================='模块名称:FrmDataExport'模块功能:实现Oracle9i数据库表到Excel文件的数据导出功能。'设计说明:
    '       1、系统采用向导模式界面,实现数据导出的用户傻瓜化;
    '       2、选择所要导出的用户表->选择所要导出的字段->选择导出后的数据文件名->导出数据->完成。'作    者:cobra     日 期:2004-04-10'修改说明:'====================================================================='一下是部分示例代码'将strTableName表中的部分字段strFields()的数据导出到Excel文件strFileName中
    '------------------------------------------------
    Private Function DataExport(strTableName As String, strFields() As String, strFileName As String) As Boolean
        
        On Error GoTo ErrLiner    Dim iRecordCnt As Long             '字典表中记录数
        
        Dim iTmpHead   As Integer          '循环计数器
        Dim iTmpValue  As Integer
        
        Dim iTemp      As Integer
        
        Dim strSql     As String           'SQL语句临时变量
        Dim strTemp    As String
        
        Dim objXLS     As Object           'OLE自动化对象
        Dim rsTemp     As ADODB.Recordset
        
        DataExport = False
        
        lblStatus.Visible = True
        
        '1、创建Excel对象
        lblStatus.Caption = "创建Excel对象...":    lblStatus.Refresh
        Set objXLS = CreateObject("Excel.Sheet.8")
        
        '2、创建临时记录集
        lblStatus.Caption = "创建临时记录集...":   lblStatus.Refresh
        
        strTemp = ""
        For iTemp = 0 To UBound(strFields())
            strTemp = strTemp & strFields(iTemp) & ","
        Next
        strTemp = Left(strTemp, Len(strTemp) - 1)
        
        strSql = "Select " & strTemp & " From " & strTableName & ""
        Set rsTemp = DbCn.Execute(strSql, 2)
        
        If rsTemp.RecordCount > 0 Then
        
            '3、构造Excel文档结构
            lblStatus.Caption = "构造Excel文档结构...":    lblStatus.Refresh
            
            
            '工作表名称定义为所操作的表名
            objXLS.worksheets(1).Name = strTbName
            
            '利用字段名构造表头
            For iTmpHead = 0 To rsTemp.Fields.Count - 1
                objXLS.worksheets(1).Cells(1, iTmpHead + 1).Value = rsTemp(iTmpHead).Name
            Next        rsTemp.MoveFirst:    iRecordCnt = rsTemp.RecordCount
            
            '4、向Excel文档输出数据
            lblStatus.Caption = "向Excel文档输出数据...":    lblStatus.Refresh
            
    ''        iTmpHead = 0:    lblCount.Visible = True
            
            'Alter:cobra,2004-05-13:
            '利用CopyFromRecordset属性来拷贝数据内容,有效的提高数据导出的速度。
            objXLS.worksheets(1).Cells.CopyFromRecordset rsTemp
                    
    ''        '在结果集中循环将每条记录的值添加到表格的行上
    ''        Do While Not rsTemp.EOF
    ''
    ''            lblCount.Caption = "记录:第" & Str(iTmpHead + 1) & "条,共" & Str(iRecordCnt) & "条。"
    ''            lblCount.Refresh
    ''
    ''            For iTmpValue = 0 To rsTemp.Fields.Count - 1
    ''
    ''                '加每个字段的值加到工作表中
    ''''                If rsTemp(iTmpValue).Type < 11 Then
    ''''                    objXLS.Worksheets(1).cells(iTmpHead + 2, iTmpValue + 1).Value = rsTemp(iTmpValue)
    ''''                Else
    ''''                    '处理Memo和LongBinary 类型的字段
    ''''                    objXLS.Worksheets(1).cells(iTmpHead + 2, iTmpValue + 1).Value = "Memo or Binary Data"
    ''''                End If
    ''
    ''                objXLS.WorkSheets(1).Cells(iTmpHead + 2, iTmpValue + 1).Value = rsTemp(iTmpValue)
    ''
    ''            Next iTmpValue
    ''
    ''            rsTemp.MoveNext:            iTmpHead = iTmpHead + 1
    ''
    ''        Loop
            
            '5、保存Excel文档
            lblStatus.Caption = "保存Excel文档...":    lblStatus.Refresh
            Call objXLS.SaveAs(strFileName)
                   
            '6、注销Excel对象
            lblStatus.Caption = "注销Excel对象...":    lblStatus.Refresh
            objXLS.Application.Quit:     Set objXLS = Nothing:    Set rsTemp = Nothing
            
        Else                               '字典表为空
        
            MsgBox "字典表为空!", vbInformation + vbOKOnly, "提示"
        
        End If
        
        '7、导出成功
        lblStatus.Caption = "字典导出成功!":    lblStatus.Refresh
        
        lblStatus.Visible = False:    lblCount.Visible = True
        
        DataExport = True:            Exit Function
        
    ErrLiner:
        Debug.Print Err.Description & Err.Number     'test
        
        DataExport = False
        
    End Function调用:
     If DataExport(strTbName, strFields(), strFileName) = False Then
        MsgBox "数据导出操作未成功!" & vbNewLine & Err.Description, vbInformation + vbOKOnly, "提示"
     Else
        MsgBox "数据导出操作成功!", vbInformation + vbOKOnly, "提示"
     End If