Dim xlApp As Excel.Application 
Set xlApp = New Excel.Application Set xlApp = CreateObject("Excel.Application") 
‘激活EXCEL应用程序 
xlApp.Visible = False ‘隐藏EXCEL应用程序窗口 
Set xlBook = xlApp.Workbooks.add  datPrimaryRS.Recordset.MoveFirst 
‘datPrimaryRS为Data控件 
    If IsNull(datPrimaryRS.Recordset!姓名) = False Then 
    xlSheet.Cells(4, 2) = datPrimaryRS.Recordset!姓名 
    End If 
    If IsNull(datPrimaryRS.Recordset!性别) = False Then 
    xlSheet.Cells(4, 4) = datPrimaryRS.Recordset!性别 
    End If 
    If IsNull(datPrimaryRS.Recordset!民族) = False Then 
    xlSheet.Cells(4, 6) = datPrimaryRS.Recordset!民族 
    End If xlBook.Save  ‘保存文件 
    xlSheet.PrintOut  ‘执行打印 
    xlApp.Quit  ‘退出EXCEL

解决方案 »

  1.   

    我是VB初学者呀,上面我明白了意思,我编译时,说excel.application
    没定义。是不是还要定义一下呢。
     
      

  2.   

    希望能被楼上的高手看到啊http://expert.csdn.net/Expert/topic/1366/1366063.xml?temp=.8769647
    我要每次grid中的都保存到一个xls中,如何实现啊
      

  3.   

    其实,EXCEL本身就提供了通过ODBC导入数据的功能
      

  4.   

    樓上的高手﹐我碰到跟你同樣的問題﹐我也需要將Adodb.recordset轉出到Excel檔案﹐可是我按照以上的代碼做系統也提示excel.application
    沒有定義﹐請問你是怎么解決這個問題的。盼在百忙之中抽點時間回復我﹐感謝﹗
    [email protected]
      

  5.   

    引用excel库 没定义是没引用
      

  6.   

    天涯浪子﹐我試著加入Excel庫﹐但我在列表中怎么也找不到呢﹖
    我裝的是Office2000﹐這有沒有關系﹖謝謝回復。
      

  7.   

    问题是楼上的把Excel.Application实例化了两次。
    把第二次实例化的删掉,即Set xlApp = CreateObject("Excel.Application") 
    如果还是不行的话,试试    Dim objExcelSample As Excel.Application
        Dim objWorkbook As Excel.Workbook
        Dim objWorkSheet As Excel.Worksheet
        
        Set objExcelSample = New Excel.Application
        Set objWorkbook = objExcelSample.Workbooks.Open("c:\book1.xls")
        '前提是在C盘根目录下存在book1.xls文件  
        Set objWorkSheet = objWorkbook.Sheets("sheet1")
      
        datPrimaryRS.Recordset.MoveFirst      'datPrimaryRS为Data控件 
        If IsNull(datPrimaryRS.Recordset!姓名) = False Then 
            objWorkSheet .Cells(4, 2) = datPrimaryRS.Recordset!姓名 
        End If 
        If IsNull(datPrimaryRS.Recordset!性别) = False Then 
            objWorkSheet .Cells(4, 4) = datPrimaryRS.Recordset!性别 
        End If 
        If IsNull(datPrimaryRS.Recordset!民族) = False Then 
            objWorkSheet .Cells(4, 6) = datPrimaryRS.Recordset!民族 
        End If    objWorkSheet.PrintPreview     '打印预览
        objWorkSheet.PrintOut         '打印
        objWorkbook.Close
        Set objExcelSample = Nothing
      

  8.   

    如果楼上装的是2000的话,应该在“参照设定”中将Microsoft Excel 9.0 Object Library 和 Microsoft Office 9.0 Object Library 这两个库选上
      

  9.   

    樓上的大哥﹐當執行第一條就提示User-defined type not defined . 是否是定義的問題﹖
      

  10.   

    Dim xl As Object
    Set xl = CreateObject("Excel.document")     
    *
    *
    *
    xl.SaveAs filename就不需要什么引用不引用Excel了。
    但是通过OLE调用性能较差。
    建议通过建立临时表……
    最SELECT * INTO ……