我在程序中用如下的代码尽心excel操作,发现只要不退出我的程序,excel进程就无法结束,一直在进程管理器里面。请教各位大哥有什么方法能结束excel进程。
    Dim excelObj As Excel.Application
    Set excelObj = CreateObject("excel.application")
    ......
    excelObj.Quit
    Set excelObj = Nothing

解决方案 »

  1.   

    我的程序是将rs的数据集存入报表模板,然后另存一个新的报表
    Private Sub cmdExcel_Click()
     On Error GoTo ErrHandler
       Dim strsql As String
       Dim strsql_db As String
       
       
       Set xlapp1 = CreateObject("excel.application")              'create the excel object
       xlapp1.Workbooks.Open (App.Path & "\按单位查询模板.xls")          'FileName changed
       xlapp1.Workbooks("按单位查询模板.xls").Activate
         
       xlapp1.Worksheets(1).Cells(1, 1) = Text1.Text & "年按单位统计的完成资产统计表"
       
       
       strsql = Text2.Text
       Set rs = ExecuteSQL(strsql, msgtext)
       For i = 5 To rs.RecordCount + 4
           xlapp1.ActiveSheet.Rows(i).Insert
           xlapp1.Worksheets(1).Cells(i, 1) = i - 4
           xlapp1.Worksheets(1).Cells(i, 2) = rs.Fields("单位名称")
           xlapp1.Worksheets(1).Cells(i, 3) = rs.Fields("计划总额")
           xlapp1.Worksheets(1).Cells(i, 4) = rs.Fields("完成资产金额")
           xlapp1.Worksheets(1).Cells(i, 5) = rs.Fields("预付款金额")
           xlapp1.Worksheets(1).Cells(i, 6) = rs.Fields("付款金额")
           rs.MoveNext
       Next i
       xlapp1.ActiveSheet.Rows(4).Delete
          
       With CommonDialog1
             .DialogTitle = "生成Excel"
             .FileName = "*.xls"
             .Filter = "(Excel)*.xls|*.xls"
             .CancelError = True
             .ShowOpen
           '.ShowSave
       End With
          'xlapp1.Save
       xlapp1.ActiveWorkbook.SaveAs (CommonDialog1.FileName)
       
       xlapp1.Quit
       MsgBox "数据导Excel完成!", 48, "信息"
       rs.Close
       Set rs = Nothing
       Exit Sub
    ErrHandler:
       '用户按了“取消”按钮
       MsgBox "用户取消从Excel导出数据操作!", 48, "提示"
       Exit Sub
    End Sub